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();
}