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); }