Паттерн _
Паттерн _ используется в Rust для игнорирования
значения при сопоставлении с образцом. Он говорит
компилятору, что данное значение не будет использоваться
в дальнейшем коде. Паттерн _ можно применять
в различных конструкциях: в операторе match,
при деструктуризации кортежей и структур, в параметрах
функций, а также в конструкциях if let
и while let.
Синтаксис
let _ = value;
match value
{
_ => ...
}
Пример
Давайте рассмотрим пример с оператором match,
где паттерн _ используется для обработки
всех остальных случаев:
fn main()
{
let num = 5;
let res = match num
{
1 => "one",
2 => "two",
_ => "other",
};
println!("{}", res);
}
Результат выполнения кода:
"other"
Пример
Давайте рассмотрим пример деструктуризации кортежа,
где паттерн _ позволяет пропустить ненужные
значения:
fn main()
{
let tuple = (1, 2, 3);
let (first, _, third) = tuple;
println!("first = {}, third = {}", first, third);
}
Результат выполнения кода:
first = 1, third = 3
Пример
Давайте рассмотрим пример с параметром функции,
где паттерн _ используется для игнорирования
аргумента:
fn func(_: i32, x: i32)
{
println!("{}", x);
}
fn main()
{
func(1, 2);
}
Результат выполнения кода:
2