美文网首页
Dart基础(三)-流程控制语句

Dart基础(三)-流程控制语句

作者: 苍眸之宝宝 | 来源:发表于2022-01-06 09:12 被阅读0次

简介:

  Dart中的流程控制语句:

  • if and else
  • for loops
  • while and do-while loops
  • break and continue and return
  • switch and case
  • assert

if and else:

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

for loops:

  • for-i
  • for-in
  • while
  • do-while
// for-i
var message = StringBuffer('Dart is fun');
for (var i = 0; i < 5; i++) {
  message.write('!');
}

// Dart for循环中的闭包捕获索引的值,避免了JavaScript中常见的陷阱。例如:
var callbacks = [];
for (var i = 0; i < 2; i++) {
  callbacks.add(() => print(i));
}
callbacks.forEach((c) => c());
// for-in
final intList = [1, 2, 3];
for (final item in intList) {
  print(item);
}

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

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

// break跳出当前循环
while (true) {
  if (shutDownRequested()) break;
  processIncomingRequests();
}

// continue结束当前循环,进入下一循环迭代
for (int i = 0; i < candidates.length; i++) {
  var candidate = candidates[i];
  if (candidate.yearsExperience < 5) {
    continue;
  }
  candidate.interview();
}

// return 返回值,退出当前函数,退出函数中的所有寻循环
    for (int i = 0; i < 10; i++) {
      for (int j = 0; j < 10; j++) {
        if (i > j) {
          retrun 0;
        }
      }
    }

var command = 'OPEN';
switch (command) {
  case 'CLOSED':
    executeClosed();
    break;
  case 'PENDING':
    executePending();
    break;
  case 'APPROVED':
    executeApproved();
    break;
  case 'DENIED':
    executeDenied();
    break;
  case 'OPEN':
    executeOpen();
    break;
  default:
    executeUnknown();
}

// 在开发过程中,使用一个assert语句- assert(condition, optionalMessage);-如果布尔条件为false,则中断正常执行。
// Make sure the variable has a non-null value.
assert(text != null);

// Make sure the value is less than 100.
assert(number < 100);

// Make sure this is an https URL.
assert(urlString.startsWith('https'));

相关文章

网友评论

      本文标题:Dart基础(三)-流程控制语句

      本文链接:https://www.haomeiwen.com/subject/zpbhqrtx.html