目录
Dart2的条件判断和循环语句,与java非常像,我们简单梳理一下,需要注意一下assert的用法。
-
if...else
// 结果 age is good
var intVar = 30;
if(intVar > 30){
print("age 30 more");
}else if(intVar < 20){
print("age 20 less");
}else{
print("age is good");
}
-
switch case
var intVar = 30;
switch (intVar) {
case 12:
print("num 12");
break;
case 15:
print("num 15");
break;
default:
print("num ${intVar}");
}
// 结果 num 30
-
for
for(var i=0; i < 10; i++){
print("index ${i}");
}
// 列表访问
var listVar = ["china", "usa"];
for(var country in listVar){
print(country);
}
-
while和do..while
var intVar = 2;
while(intVar > 0){
print("intVar ${intVar}");
intVar --;
};
do{
print("intVar ${intVar}");
intVar ++;
}while(intVar < 2);
-
break和continue
for(var i=0; i<10; i++){
if(i % 2 == 0){
continue; // 跳过本次循环
}
if( i == 5){
break; // 中断循环
}
print("index ${i}");
}
// 结果
// index 1
// index 3
-
assert
assert语句在产品环境下是没有作用的,只有在开发状态下才会有效果。
flutter需要开启Debug模式; dart或者dartjs命令,需要添加参数--enable-asserts。
// assert_test.dart文件中的代码
var intVar = 30;
assert(intVar > 10);
print("int ${intVar}");
assert(intVar < 20);
print("int ${intVar}");
// dart assert_test.dart的结果
// int 30
// int 30
/
// dart --enable-asserts assert_test.dart 的结果
// int 30
// Failed assertion: line 50 pos 10: 'intVar < 20': is not true.