
Rustのif文とループ処理をマスターして、プログラムの制御フローを自由自在に操ろう!
Rustの制御フロー:if文で条件分岐
Rustにおける制御フローは、プログラムの実行順序を決定する上で不可欠です。特にif文は、条件に基づいて異なるコードブロックを実行するために使用されます。この記事では、Rustのif文とループ処理に焦点を当て、具体的な例を交えながらその使い方を解説します。
if文の基本的な構文は次のとおりです。
if condition {
// conditionが真の場合に実行されるコード
} else {
// conditionが偽の場合に実行されるコード
}conditionは真偽値を返す式です。elseブロックは省略可能です。
例えば、数値が正か負かを判定するif文は次のようになります。
let number = 5;
if number > 0 {
println!("正の数です");
} else if number < 0 {
println!("負の数です");
} else {
println!("ゼロです");
}この例では、else ifを使って複数の条件をチェックしています。if文は値を返す式としても使用できます。この場合、すべての分岐が同じ型を返す必要があります。
let result = if number > 0 {
1
} else {
-1
};
println!("結果: {}", result);Rustのループ処理:for、while、loop
Rustには、for、while、loopという3種類のループ構造があります。
forループは、イテレータを介して要素を反復処理するのに適しています。
let numbers = vec![1, 2, 3, 4, 5];
for number in numbers {
println!("数値: {}", number);
}この例では、numbersベクトルの各要素を順番に処理しています。whileループは、条件が真である限りコードブロックを繰り返し実行します。
let mut count = 0;
while count < 5 {
println!("カウント: {}", count);
count += 1;
}loopは、無限ループを作成します。break文を使ってループを終了させることができます。
let mut count = 0;
loop {
println!("カウント: {}", count);
count += 1;
if count > 5 {
break;
}
}ループにはラベルを付けることができます。ラベルを使用すると、ネストされたループからbreakまたはcontinueする際に、どのループをターゲットにするかを指定できます。
'outer: loop {
println!("Outer loop");
loop {
println!("Inner loop");
break 'outer; // 外側のループを終了
}
}continue文は、現在のイテレーションをスキップして、次のイテレーションに進みます。
for number in 1..=5 {
if number % 2 == 0 {
continue; // 偶数の場合はスキップ
}
println!("奇数: {}", number);
}参考リンク
まとめ
この記事では、Rustのif文とループ処理の基本的な使い方を解説しました。if文は条件分岐を、for、while、loopは繰り返し処理をそれぞれ実現します。これらの制御フローを理解することで、より複雑なプログラムをRustで記述できるようになります。 ぜひ、今回紹介したコード例を参考に、Rustでのプログラミングに挑戦してみてください。

