Dart4Flutter -01 – 變量, 類型和 函數異步
Dart4Flutter -拾遺01 - flutter-dart環境搭建post
if-else 和其餘語言同樣比較簡單。3d
main(List<String> args) {
var number = 57;
if (number > 100) {
print('Large Number');
} else if (number < 100) {
print('Small Number');
} else {
print('Number is 100');
}
}
複製代碼
能夠用三元運算符代替if-elsecode
main(List<String> args) {
int age = 60;
String status = age < 50 ? "Still young" : "Old Man";
}
複製代碼
和其餘大多數語言同樣,dart也支持各類的循環,並且語法同樣。cdn
典型的for循環。
main(List<String> args) {
for (int i = 0; i < 10; i++) {
print('$i');
}
}
複製代碼
典型的while循環
main(List<String> args) {
int i = 0;
while(i < 10) {
print('$i');
i++;
}
}
複製代碼
The classic for do while loop. 典型的do while循環。
main(List<String> args) {
int i = 0;
do {
print('$i');
i++;
} while (i < 10);
}
複製代碼
main(List<String> args) {
int age = 50;
switch(age) {
case 10:
print('Too Young.');
break;
case 20:
case 30:
print('Still Young!');
break;
case 40:
print('Getting old.');
break;
case 50:
print('You are old!');
break;
}
}
複製代碼
dart 使用經典的try-catch處理異常,使用關鍵字throw拋出一個異常。
首先,看看如何拋出異常
main(List<String> args) {
divide(10, 0);
}
divide(int a, int b) {
if (b == 0) {
throw new IntegerDivisionByZeroException();
}
return a / b;
}
複製代碼
當b變量的值爲0的時候,拋出一個內置的異常IntegerDivisionByZeroException。
你也能夠在異常中攜帶一個字符串信息。
main(List<String> args) {
divide(10, 0);
}
divide(int a, int b) {
if (b == 0) {
throw new Exception('Divide by zero');
}
return a / b;
}
複製代碼
如今看看重點的捕獲和處理異常。
某種類型的異常能夠經過on關鍵字捕獲,以下:
main(List<String> args) {
try {
divide(10, 0);
} on IntegerDivisionByZeroException {
print('Division by zero.');
}
}
divide(int a, int b) {
if (b == 0) {
throw new IntegerDivisionByZeroException();
}
return a / b;
}
複製代碼
若是你不知道拋出異常的類型,或者不肯定,能夠使用catch塊處理任意類型的異常。
main(List<String> args) {
try {
divide(10, 0);
} on IntegerDivisionByZeroException {
print('Division by zero.');
} catch (e) {
print(e);
}
}
divide(int a, int b) {
if (b == 0) {
throw new Exception('Some other exception.');
}
return a / b;
}
複製代碼
dart也提供了finally塊,便是否發生異常這個塊都會執行。
main(List<String> args) {
try {
divide(10, 0);
} on IntegerDivisionByZeroException {
print('Division by zero.');
} catch (e) {
print(e);
} finally {
print('I will always be executed!');
}
}
divide(int a, int b) {
if (b == 0) {
throw new Exception('Some other exception.');
}
return a / b;
}
複製代碼
結束
參考