写代码讲究的就是思路,这不,流程控制得要明明白白~
if else
学过前端的读者,这个很清晰了吧,你业务页面上是不是用过数不清的 if else
。语法应该了然于胸了~
bool isPass = true;
if(isPass) {
print('Success'); // Success
} else {
print('Failure');
}
复制代码
for 循环
标准的 for
循环:
for(int i = 0; i < 3; i ) {
print("i => ${ i }");
}
// i => 0
// i => 1
// i => 2
复制代码
我们还可以使用 forEach
和 for in
:
['Hello', 'World'].forEach((item) => print(item));
// Hello
// World
for(var item in ['Hello', 'World']) {
print(item);
}
// Hello
// World
复制代码
while 和 do while
while
会在执行循环体之前先判断条件;而 do while
会先执行一遍循环体,再判断条件。两者的区别如上所述。
// while
bool isPass = true;
while(!isPass) {
print('Faulure');
isPass = true;
}
// 不会执行 print
// do while
int a = 1;
do {
print('Success');
a = 1;
} while(a == 1);
// 执行一次 print
复制代码
break 和 continue
break
和 continue
都是用来跳出循环。但是,break
是用来跳出整个循环,而 continue
是跳出当前循环。
// break
for(int i = 0; i < 3; i ) {
if(i == 1) {
break;
} else {
print("i => ${ i }");
}
}
// i => 0
// continue
for(int i = 0; i < 3; i ) {
if(i == 1) {
continue;
} else {
print("i => ${ i }");
}
}
// i => 0
// i => 2
复制代码
switch 和 case
switch / case
语句前后操作必须是相同类型的对象实例。每一个非空的 case
子句后面都必须跟上 break
语句。
int a = 1;
switch(a) {
case 1: print('One'); break;
case 2: print('Two'); break;
default: print('Other'); break; // 不匹配情况自动走这里
}
// One
复制代码
assert 断言
断言目的是为了表示与验证软件开发者预期的结果 -- 当程序执行到断言的位置时,对应的断言应该为真。若断言为假,程序会中止执行,并给出错误信息。
代码语言:javascript复制bool flag = true;
assert(flag == true);
assert(flag == false);
// Uncaught Error: Assertion failed
复制代码
assert
可以用来打断点,调试程序