Skip to content

流程控制语句

If 和 Else

if 语句中的条件必须是布尔值而不能为其它类型

dart
if (isRaining()) {
  you.bringRainCoat();
} else if (isSnowing()) {
  you.wearJacket();
} else {
  car.putTopDown();
}

for

使用标准的 for 循环进行迭代

  • for 循环中的闭包会自动捕获循环的 索引值 以避免 JavaScript 中一些常见的陷阱
dart
for (var i = 0; i < 5; i++) {
  
}

可以使用 for-in 方法遍历一个可迭代对象

dart
for (final candidate in []) {
  
}

While 和 Do-While

while 循环会在执行循环体前先判断条件

dart
while (!isDone()) {
  doSomething();
}

do-while 循环则会 先执行一遍循环体 再判断条件

dart
do {
  printLine();
} while (!atEndOfPage());

Switch

使用 == 来比较整数、字符串或编译时常量

dart
var command = 'OPEN';
switch (command) {
  case 'OPEN':
    executeOpen();
    break;
  default:
    executeUnknown();
}

try catch

dart
try {
  breedMoreLlamas();
} catch (e) {
  print('Error: $e'); // Handle the exception first.
} finally {
  // 无论是否抛出异常,finally 语句始终执行
  cleanLlamaStalls();
}