Приведи пример использования выражения match в Rust?
Этот вопрос помогает понять, как в Rust работает паттерн-матчинг для обработки различных вариантов данных.
Короткий ответ
Выражение match в Rust используется для сопоставления значений с возможными вариантами. Оно особенно полезно при работе с типами Option, Result или перечислениями (enum).
Длинный ответ
В Rust match позволяет обрабатывать разные значения или варианты, предоставляя мощный и безопасный способ ветвления логики.
Пример использования match с типом Option:
let foo = Some(1);
match foo {
Some(n) => println!("number is {n}"),
None => println!("there is no number"),
}
Как работает match:
- Каждая ветка проверяет один из возможных вариантов значения.
- Rust требует полного покрытия всех вариантов (например, для Option — это Some и None).
- Если покрытие не полное, программа не скомпилируется.
Применение в других контекстах: Для обработки чисел или строк:
let x = 5;
match x {
1 => println!("One"),
2 | 3 | 5 => println!("Prime"),
_ => println!("Something else"), // подчеркивание обозначает "все остальное"
}match — это мощный инструмент, который обеспечивает безопасность типов и читаемость кода. Его следует использовать для обработки сложных вариантов данных.