如何在 Dart 中跳出嵌套循环
How to break out of nested loops in Dart
给定以下嵌套循环:
for (int i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
print('i: $i, j: $j');
}
}
如果我在内部循环中添加 break
语句:
for (int i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
print('i: $i, j: $j');
break; // <-- break
}
}
只是跳出了内循环。这是输出:
i: 0, j: 0
i: 1, j: 0
i: 2, j: 0
i: 3, j: 0
i: 4, j: 0
i: 5, j: 0
i: 6, j: 0
i: 7, j: 0
i: 8, j: 0
i: 9, j: 0
如何跳出外循环?
使用标签
Dart 支持标签。创建一个标签名称并在其后跟一个冒号:
outerLoop:
for (int i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
print('i: $i, j: $j');
break outerLoop;
}
}
在上面的示例中,标签名称是 outerLoop
,但您可以将其命名为其他名称。调用 break outerLoop
会跳出 outerLoop
前面的 for
循环。
这会打印:
i: 0, j: 0
从函数返回
另一种选择是将嵌套循环放在一个函数中,然后 return 来自函数:
void myFunction() {
for (int i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
print('i: $i, j: $j');
return;
}
}
}
给定以下嵌套循环:
for (int i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
print('i: $i, j: $j');
}
}
如果我在内部循环中添加 break
语句:
for (int i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
print('i: $i, j: $j');
break; // <-- break
}
}
只是跳出了内循环。这是输出:
i: 0, j: 0
i: 1, j: 0
i: 2, j: 0
i: 3, j: 0
i: 4, j: 0
i: 5, j: 0
i: 6, j: 0
i: 7, j: 0
i: 8, j: 0
i: 9, j: 0
如何跳出外循环?
使用标签
Dart 支持标签。创建一个标签名称并在其后跟一个冒号:
outerLoop:
for (int i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
print('i: $i, j: $j');
break outerLoop;
}
}
在上面的示例中,标签名称是 outerLoop
,但您可以将其命名为其他名称。调用 break outerLoop
会跳出 outerLoop
前面的 for
循环。
这会打印:
i: 0, j: 0
从函数返回
另一种选择是将嵌套循环放在一个函数中,然后 return 来自函数:
void myFunction() {
for (int i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
print('i: $i, j: $j');
return;
}
}
}