控制流程
條件控制語句
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)