模式切换
控制流
Dart 提供多种控制流语句,帮助开发者处理条件分支、循环结构和异常处理。
条件语句
if-else
if-else 是最常见的条件语句,用于根据条件执行不同代码。
语法:
dart
if (condition) {
// 当条件为 true 时执行
} else if (anotherCondition) {
// 当另一个条件为 true 时执行
} else {
// 当所有条件均为 false 时执行
}示例:
dart
void main() {
int score = 85;
if (score >= 90) {
print('Grade: A');
} else if (score >= 75) {
print('Grade: B');
} else {
print('Grade: C');
}
}switch-case
switch-case 用于处理多种可能的离散值。每个 case 必须以 break 或 return 结束,避免贯穿(fall-through)。
语法:
dart
switch (variable) {
case value1:
// 执行代码
break;
case value2:
// 执行代码
break;
default:
// 默认代码
}示例:
dart
void main() {
String grade = 'B';
switch (grade) {
case 'A':
print('Excellent');
break;
case 'B':
print('Good');
break;
case 'C':
print('Average');
break;
default:
print('Invalid grade');
}
}循环
for
for 循环用于执行已知次数的迭代。
语法:
dart
for (initialization; condition; increment/decrement) {
// 循环体
}示例:
dart
void main() {
for (int i = 0; i < 5; i++) {
print('Count: $i');
}
}for-in
for-in 用于遍历集合。
示例:
dart
void main() {
var items = ['apple', 'banana', 'cherry'];
for (var item in items) {
print(item);
}
}while
while 循环在条件为 true 时反复执行。
语法:
dart
while (condition) {
// 循环体
}示例:
dart
void main() {
int count = 0;
while (count < 3) {
print('Count: $count');
count++;
}
}do-while
do-while 至少执行一次循环体,然后检查条件。
语法:
dart
do {
// 循环体
} while (condition);示例:
dart
void main() {
int count = 0;
do {
print('Count: $count');
count++;
} while (count < 3);
}异常处理
Dart 使用 try-catch 捕获异常,并使用 throw 抛出异常。
try-catch
try-catch 捕获运行时错误并防止程序崩溃。
语法:
dart
try {
// 可能引发异常的代码
} catch (e) {
// 异常处理
}示例:
dart
void main() {
try {
int result = 10 ~/ 0; // 引发异常
print(result);
} catch (e) {
print('Error: $e');
}
}throw
throw 用于手动抛出异常。
示例:
dart
void checkAge(int age) {
if (age < 18) {
throw Exception('Age must be at least 18.');
}
}
void main() {
try {
checkAge(15);
} catch (e) {
print('Caught an exception: $e');
}
}finally
finally 无论是否引发异常都会执行,常用于释放资源。
示例:
dart
void main() {
try {
int result = 10 ~/ 0;
print(result);
} catch (e) {
print('Error: $e');
} finally {
print('Execution finished.');
}
}