0
点赞
收藏
分享

微信扫一扫

Dart 知识点 - 流程控制语句


推荐使用线上编辑器 ​​dartpad.cn​​ 进行学习,测试~

写代码讲究的就是思路,这不,流程控制得要明明白白~

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 断言

断言目的是为了表示与验证软件开发者预期的结果 -- 当程序执行到断言的位置时,对应的断言应该为真。若断言为假,程序会中止执行,并给出错误信息。

bool flag = true;
assert(flag == true);

assert(flag == false);
// Uncaught Error: Assertion failed

​assert​​ 可以用来打断点,调试程序


举报

相关推荐

0 条评论