if-else 條件語句
String playName(String name) {
if (name != null) {
return name;
} else {
return "Guest";
}
}
String playName2(String name) {
return name != null ? name : "Guest";
}
String playName3(String name) {
return name ?? "Guest";
}
for 循環(huán)語句
for (int i = 0; i < arr.length; i++) {
print(arr[i]);
}
for (var item in arr) {
print(item);
}
arr.forEach((element) {
print(element);
});
while do-while 語句
int x =10;
while(x > 0){
print (x--);
}
int y = 10;
do{
print(y--);
}while(y>0);
witch 語句
String s="A";
switch(s){
case 'A':
print('優(yōu)秀');
break;
case 'B':
print('良好');
break;
default:
print("未知");
break;
}
break 跳出循環(huán), continue 結(jié)束本次循環(huán),開始下一輪循環(huán)
assert 語句
- assert (condition,optionallMessage);
- 當(dāng)condition 執(zhí)行為false,中斷正常執(zhí)行。
- 斷言只在檢查模式下運行有效,如果在生產(chǎn)模式運行,則斷言不會執(zhí)行。
異常
- Dart 代碼能夠 Throw 和Catch 異常。異常是一些代碼未知的錯誤情況。如果異常沒有被捕獲,則異常會被拋出,最終導(dǎo)致代碼終止執(zhí)行。
- Dart 中所有異常為非檢查異常。方法不一定聲明他們所拋出的異常,并且你也不需要補貨任何異常。
- Dart提供了Exception 和Error 類型,以及一些子類型。也可以實現(xiàn)自己的異常類型。Dart 可以拋出任何非null 對象為異常,不僅僅是實現(xiàn)了Exception 或者Error 的對象。
- 拋出異常
throw FormatException('Expected a least 1 section');
- 拋出任意類型對象
throw 'Out of llamas!';
高質(zhì)量代碼建議異常類型為 Exception 和Error,以及一些子類型。
- 捕獲異??梢员苊猱惓@^續(xù)傳遞,捕獲異常給你一個處理該異常的機會。
try{
breedMoreLlamas();
} on OutOfLamasException{
buyMoreLlamas();
}
- 對于可以拋出多種類型的異常的代碼,你可以指定多個捕獲語句。
try{
breadMoreLlamas();
} on OutOfLlamasException{
buyMoreLlamas();
} on Exception catch(e){
print('Unknown exception: $e');
} catch( e,s){
print('Something really unknown; $e');
print('Stack trace:\n $s');
}
- 要確保某些代碼不管有沒有出現(xiàn)異常都需要執(zhí)行,可以使用一個 finally語句來實現(xiàn)。如果沒有catch語句來捕獲異常,則在執(zhí)行完finally 語句后,異常被拋出。
try{
breedMoreLlamas();
} finally{
cleanLlamaStalls();
}