• 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の末尾にセミコロン;は要らないが、ラベルを書く場合は必要

参考

    • やさしいRust入門 日向俊二 | p.87 第4章 実行制御 | 4.2 繰り返し

 

    ネストとラベル | Rust By Example 日本語版
bannerAds