if

if は、他の言語の if 文とまったく同じように使用します。

// 著作権 2024 Google LLC
// SPDX-License-Identifier: Apache-2.0

fn main() {
    let x = 10;
    if x == 0 {
        println!("zero!");
    } else if x < 100 {
        println!("biggish");
    } else {
        println!("huge");
    }
}

さらに、if は式としても使用できます。各ブロックの最後の式が、 if 式の値になります。

// 著作権 2024 Google LLC
// SPDX-License-Identifier: Apache-2.0

fn main() {
    let x = 10;
    let size = if x < 20 { "small" } else { "large" };
    println!("number size: {}", size);
}

if は式であり、特定の型を持つ必要があるため、その両方の分岐ブロックは 同じ型でなければなりません。2 つ目の例で "small" の後に ; を追加すると どうなるかを確認してください。

if 式は、他の式と同じように使用する必要があります。たとえば、 let 文で使用する場合、その文も ; で終わっていなければなりません。 println! の前の ; を削除して、コンパイラエラーを確認してください。