Flutter Dart 流程控制语句详解

引言

在 Flutter 开发中,Dart 语言的流程控制语句起着至关重要的作用。它们允许开发者根据不同的条件执行不同的代码块,或者重复执行特定的代码,从而实现程序的逻辑控制。下面将详细介绍 Dart 中常见的流程控制语句,并结合代码示例进行说明。

1. if - else 语句

if - else 语句用于根据条件的真假来执行不同的代码块。它是最基本的条件控制语句,在很多场景下都会用到。

代码示例

dart 复制代码
void main() {
  int score = 75;

  if (score >= 90) {
    print('成绩优秀');
  } else if (score >= 70) {
    print('成绩良好');
  } else if (score >= 60) {
    print('成绩及格');
  } else {
    print('成绩不及格');
  }
}

代码解释

  • 首先定义了一个整数变量 score 并赋值为 75。
  • 程序会依次判断 ifelse if 后面的条件表达式。如果 score >= 90true,则执行对应的代码块;若为 false,则继续判断下一个 else if 条件。
  • score >= 70true 时,执行 print('成绩良好'); 语句,之后不再继续判断其他条件。
  • 如果所有 ifelse if 条件都不满足,则执行 else 后面的代码块。

2. switch - case 语句

switch - case 语句用于根据一个表达式的值来选择执行不同的代码块,通常用于多个固定值的匹配场景。

代码示例

dart 复制代码
void main() {
  String day = 'Monday';

  switch (day) {
    case 'Monday':
      print('星期一,开始上班啦');
      break;
    case 'Tuesday':
      print('星期二,继续加油');
      break;
    case 'Wednesday':
      print('星期三,工作过半啦');
      break;
    case 'Thursday':
      print('星期四,快到周末啦');
      break;
    case 'Friday':
      print('星期五,周末在望');
      break;
    case 'Saturday':
      print('星期六,好好休息');
      break;
    case 'Sunday':
      print('星期日,放松一下');
      break;
    default:
      print('输入的不是有效的星期');
  }
}

代码解释

  • 定义了一个字符串变量 day 并赋值为 'Monday'
  • switch 语句会将 day 的值与各个 case 后面的值进行比较。
  • 当找到匹配的 case 时,执行该 case 下的代码块。注意,每个 case 块末尾需要使用 break 语句来跳出 switch 语句,否则会继续执行下一个 case 块的代码。
  • 如果没有匹配到任何 case,则执行 default 后面的代码块。

3. for 循环

for 循环用于重复执行一段代码,通常在已知循环次数的情况下使用。

代码示例

dart 复制代码
void main() {
  for (int i = 0; i < 5; i++) {
    print('当前数字是: $i');
  }
}

代码解释

  • for 循环由三个部分组成:初始化语句 int i = 0、循环条件 i < 5 和迭代语句 i++
  • 首先执行初始化语句,将变量 i 初始化为 0。
  • 然后检查循环条件 i < 5,如果为 true,则执行循环体中的代码 print('当前数字是: $i');
  • 执行完循环体后,执行迭代语句 i++,将 i 的值加 1。
  • 再次检查循环条件,重复上述过程,直到循环条件为 false 时,循环结束。

遍历列表的 for 循环示例

dart 复制代码
void main() {
  List<String> fruits = ['apple', 'banana', 'cherry'];
  for (String fruit in fruits) {
    print('我喜欢吃 $fruit');
  }
}

这里使用 for - in 语法来遍历列表 fruits 中的每个元素,将元素依次赋值给变量 fruit 并执行循环体。

4. while 循环

while 循环会在指定条件为 true 时不断执行代码块,直到条件变为 false

代码示例

dart 复制代码
void main() {
  int count = 0;
  while (count < 3) {
    print('当前计数: $count');
    count++;
  }
}

代码解释

  • 首先定义一个整数变量 count 并初始化为 0。
  • 检查 while 后面的条件 count < 3,如果为 true,则执行循环体中的代码 print('当前计数: $count');count++;
  • 每次循环结束后,再次检查条件,直到条件为 false 时,循环结束。

5. do - while 循环

do - while 循环与 while 循环类似,但它会先执行一次循环体,然后再检查条件。

代码示例

dart 复制代码
void main() {
  int num = 0;
  do {
    print('当前数字: $num');
    num++;
  } while (num < 2);
}

代码解释

  • 先执行 do 后面的循环体,即打印 当前数字: 0 并将 num 的值加 1。
  • 然后检查 while 后面的条件 num < 2,如果为 true,则继续执行循环体;否则循环结束。

6. break 和 continue 语句

  • break 语句用于跳出当前的循环或 switch 语句。
  • continue 语句用于跳过当前循环的剩余部分,直接开始下一次循环。

代码示例

dart 复制代码
void main() {
  for (int i = 0; i < 5; i++) {
    if (i == 2) {
      break; // 当 i 等于 2 时,跳出循环
    }
    print('当前数字: $i');
  }

  for (int j = 0; j < 5; j++) {
    if (j == 2) {
      continue; // 当 j 等于 2 时,跳过本次循环的剩余部分,继续下一次循环
    }
    print('另一个数字: $j');
  }
}

代码解释

  • 在第一个 for 循环中,当 i 等于 2 时,执行 break 语句,循环立即结束。
  • 在第二个 for 循环中,当 j 等于 2 时,执行 continue 语句,跳过 print('另一个数字: $j'); 语句,直接开始下一次循环。

总结

通过合理运用 Dart 中的流程控制语句,如 if - elseswitch - casefor 循环、while 循环、do - while 循环以及 breakcontinue 语句,开发者可以实现复杂的程序逻辑,使 Flutter 应用更加灵活和强大。在实际开发中,需要根据具体的需求选择合适的流程控制语句来完成相应的任务。

相关推荐
工程师老罗10 小时前
如何在Android工程中配置NDK版本
android
崔庆才丨静觅10 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby606110 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了11 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅11 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅11 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
renke336411 小时前
Flutter for OpenHarmony:色彩捕手——基于HSL色轮与感知色差的交互式色觉训练系统
flutter
崔庆才丨静觅11 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment11 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅12 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端