循环控制
所有循环结构都允许使用 break
和 continue
语句。它们影响紧邻的(最里面的)循环。
基本循环控制
break
终止循环:
for x in 0..5 {
if x > 2 { break; }
println!("{}", x);
}
输出
0
1
2
continue
提前完成当前迭代
for x in 0..5 {
if x < 2 { continue; }
println!("{}", x);
}
输出
2
3
4
高级循环控制
现在,假设我们已经嵌套了循环,并且希望将 break
输出到外部循环。然后,我们可以使用循环标签来指定 break
或 continue
应用于哪个循环。在以下示例中,'outer
是赋予外部循环的标签。
'outer: for i in 0..4 {
for j in i..i+2 {
println!("{} {}", i, j);
if i > 1 {
continue 'outer;
}
}
println!("--");
}
输出
0 0
0 1
--
1 1
1 2
--
2 2
3 3
对于 i > 1
,内循环仅迭代一次并且未打印 --
。
注意: 不要将循环标签与生命周期变量混淆。生命周期变量仅发生在 &
旁边或作为 <>
中的通用参数。