Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Выражение if

Выражение if работает так же, как и оператор if в других языках:

// Copyright 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:

// Copyright 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);
}
This slide should take about 4 minutes.

Поскольку if — это выражение, которое должно иметь определённый тип, оба его блока-ветки должны иметь одинаковый тип. Покажите, что произойдёт, если добавить ; после "small" во втором примере.

Выражение if используется так же, как и другие выражения. Например, если оно стоит в операторе let, то и оператор должен заканчиваться ;. Уберите ; перед println!, чтобы увидеть ошибку компилятора.