- Goto文を使うのは良くないけど、多重ループを抜けるのに、Goto文は便利だと思う
- RustにはGoto文がないので、代わりに
break
やcontinue
を使う
Rust入門書に載っていたサンプルコード
fn main() {
'looptop: for i in 0..4 {
for j in 0..4 {
if i == 1 && j== 2 {
break 'looptop; // ここは、セミコロン`;`
}
println!("{} {}", i, j);
}
}
}
実行結果
0 0
0 1
0 2
0 3 // Rust入門書には、この行が書かれていなかった
1 0
1 1
ポイントの整理
- Rustの繰り返し処理は3つ
- for文
- while文
- loop文
- 繰り返し処理の行頭にラベル名を書き、breakでそこにジャンプさせる
- ラベル名の先頭には単一引用符
'
が、末尾にはコロン:
が必要 - 通常、breakの末尾にセミコロン
;
は要らないが、ラベルを書く場合は必要