match

Rust обеспечивает сопоставление с образцом с помощью ключевого слова match , которое можно использовать похожим образом, как switch в языке C. Срабатывает первая подходящая ветка, и все возможные значения должны быть перечислены.

fn main() {
    let number = 13;
    // TODO ^ Попробуйте разные значения переменной `number`

    println!("Расскажите мне о {}", number);
    match number {
        // Match a single value
        1 => println!("Один!"),
        // Match several values
        2 | 3 | 5 | 7 | 11 => println!("Это простое число"),
        // TODO ^ Попробуйте добавить 13 к списку простых чисел
        // Выбирает диапазон, включающий границы
        13..=19 => println!("от 13 до 19"),
        // Обрабатывает оставшиеся случаи
        _ => println!("Ничего особенногоl"),
        // TODO ^ Попробуйте закомментировать эту всепоглощающую ветку
    }

    let boolean = true;
    // Match ещё и выражение
    let binary = match boolean {
        // Ветви оператора match должны перечислять все возможные значения
        false => 0,
        true => 1,
        // TODO ^ Попробуйте закомментировать одну из этих ветвей
    };

    println!("{} -> {}", boolean, binary);
}