一架梯子,一头程序猿,仰望星空!

Dart流程控制语句


Dart语言流程控制语句包括下面几种:

  • if语句
  • switch语句
  • for 循环语句
  • while 和 do-while 循环语句

1.if语句

例子:

if (isRaining()) {
  // 代码1
} else if (isSnowing()) {
  // 代码2
} else {
  // 代码3
}

else是可选的,根据需要组合即可。

2.switch语句

switch语句的作用跟if语句类似,用于检测各种条件是否成立,然后执行相应分支的代码。

switch支持检测int,String类型变量的检测,当然如果你自定义的类重载了==操作符,也可以在switch条件中使用。

提示:熟悉c++的人都知道操作符重载,其实就是重新定义操作符的运算逻辑,后面关于类的章节会详细介绍如果重载操作符。

例子:

// 条件状态变量
var command = 'OPEN';

switch (command) { // 需要检测的变量 
  case 'CLOSED':  //case语句用于设置检测条件
    executeClosed(); // 如果command = 'CLOSED',执行当前分支代码。
    break; // 结束当前分支执行逻辑
  case 'PENDING':
    executePending();
    break;
  case 'APPROVED':
    executeApproved();
    break;
  default: // 如果上面的case语句都没有匹配成功,则执行default分支的逻辑。
    executeUnknown();
}

提示:switch语句中break不能忽略,否则会报错。

3.for 循环语句

for循环格式1:

// 定义int数组
var list = [5,1,2,6,3];

// 循环遍历数组
for (var i = 0; i < list.length; i++) {
	print(list[i]); // 打印数组元素
}

for语句格式2:

// 循环遍历数组变量list
for (var v in list) {
	print(v); // 打印数组元素 v
}

4.while 和 do-while 循环语句

while循环语句例子:

// 定义int数组
var list = [5,1,2,6,3];

// 循环遍历数组
var i = 0;
while (i < list.length) { // 条件为true则执行循环体代码
  print(list[i]);  // 打印数组元素
  i++; // 数组下标递增
}

do-while和while语句的区别就是do-while先执行循环体的代码,再检测循环条件。

// 循环遍历数组
var i = 0;
do {
  print(list[i]);
  i++;
} while (i < list.length); // 先执行循环体代码后再检测循环条件,条件为true则继续执行循环