控制流程
条件控制语句
if else
-
var a=1; var b=1; if(a==b){ print("a"); }else{ print("b"); }
swirch case
-
支持标签操作 跳转到指定标签继续执行
-
/* switch 参数可以是num 或者String*/ var command = "CLOSE"; switch (command) { case "CLOSE": print("CLOSE"); continue nowClosed; //继续再NowCLosed 标签执行 nowClosed: case "NOW_CLOSED": print("now_closed"); break; case "OPEN": print("open"); break; default: }
循环语句
-
定义list
-
var list = ['s', 'a', 'v', 'e'];
-
for
-
for (int i = 0; i < list.length; i++) { print(list[i]); }
while do -while
while 先判断 后执行
-
int j = 0; while (j < list.length) { print(list[j].toString()); j++; }
do while 先执行后判断
-
do { print(list[d] + d.toString()); d++; } while (d < list.length);
跳出循环语句
break continue
break
-
使用
break
停止程序循环:-
int i = 0; while (true) { print(i); if (i == 4) { break; } i++; }
-
continue
-
跳出当前循环进行下一循环
-
var list = ["a", "b", "c", "d", "e"]; for (int i = 0; i < list.length; i++) { if (i == 3) { continue; } print(list[i]); } // 输出abce
assert
-
断言 只在开发测试环境中有效 正式环境无效
- Flutter 中的 assert 只在 debug 模式 中有效。
-
如果
assert
语句中的布尔条件为 false , 那么正常的程序执行流程会被中断。 -
assert 的第二个参数可以为其添加一个字符串消息。
-
assert(urlString.startsWith('https'), 'URL ($urlString) should start with "https".');
-
-
assert 的第一个参数可以是解析为布尔值的任何表达式。 如果表达式结果为 true , 则断言成功,并继续执行。 如果表达式结果为 false , 则断言失败,并抛出异常 (AssertionError)