РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
530 of 1245 menu

Сопоставление match

Ключевое слово match запускает механизм сопоставления с образцом. Оно принимает значение и последовательно сравнивает его с шаблонами, указанными в блоках. Как только находится первый подходящий шаблон, выполняется соответствующий ему код. Сопоставление match часто используется вместе с перечислениями, так как позволяет удобно обрабатывать все варианты enum. Параметром match принимает значение, которое нужно сопоставить с шаблонами.

Синтаксис

match value { pattern1 => expression1, pattern2 => expression2, _ => default_expression, }

Пример

Давайте сопоставим число 2 с несколькими шаблонами и выведем результат:

fn main() { let value = 2; let res = match value { 1 => "one", 2 => "two", 3 => "three", _ => "other", }; println!("{}", res); }

Результат выполнения кода:

"two"

Пример

Давайте сопоставим значение с вариантами перечисления Option:

fn main() { let value: Option<i32> = Some(5); let res = match value { Some(n) => n * 2, None => 0, }; println!("{}", res); }

Результат выполнения кода:

10

Пример

Давайте сопоставим значение с вариантами перечисления Result:

fn main() { let value: Result<i32, &str> = Ok(7); let res = match value { Ok(n) => n + 1, Err(e) => 0, }; println!("{}", res); }

Результат выполнения кода:

8

Смотрите также

  • ключевое слово match,
    которое выполняет сопоставление с образцом
  • конструкция if let,
    которая упрощает сопоставление с одним шаблоном
  • конструкция while let,
    которая повторяет сопоставление в цикле
  • шаблон _,
    который соответствует любому значению
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить