dart语言入门:8、循环语句 二、while和do-while

1
2
3
4
var message = StringBuffer('Dart is fun');
for (var i = 0; i < 5; i++) {
message.write('!');
}

如果不需要索引值,可以使用forEach()遍历:

1
2
3
4
5
var callbacks = [];
for (var i = 0; i < 2; i++) {
callbacks.add(() => print(i));
}
callbacks.forEach((c) => c());

for-in语句:

1
2
3
4
var collection = [0, 1, 2];
for (var x in collection) {
print(x); // 0 1 2
}

二、while和do-while

while在循环体前判断:

1
2
3
while (!isDone()) {
doSomething();
}

do-while在循环体后判断:

1
2
3
do {
printLine();
} while (!atEndOfPage());

使用break停止循环:

1
2
3
4
while (true) {
if (shutDownRequested()) break;
processIncomingRequests();
}

使用continue跳过,继续下一次循环:

1
2
3
4
5
6
7
for (int i = 0; i < candidates.length; i++) {
var candidate = candidates[i];
if (candidate.yearsExperience < 5) {
continue;
}
candidate.interview();
}