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