迴圈控制
所有迴圈結構都允許使用 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,內迴圈僅迭代一次並且未列印 --。
注意: 不要將迴圈標籤與生命週期變數混淆。生命週期變數僅發生在 & 旁邊或作為 <> 中的通用引數。