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

Оператор if let

Оператор if let используется для сопоставления значения с образцом. Он позволяет проверить, соответствует ли значение определённому варианту перечисления или другому образцу, и выполнить блок кода только в случае совпадения. В отличие от match, оператор if let удобен тогда, когда нужно обработать только один вариант, а все остальные случаи можно проигнорировать. Параметром оператор принимает образец и значение, которое нужно сопоставить с этим образцом.

Синтаксис

if let pattern = value { // code }

Пример

Давайте создадим перечисление Option и проверим, содержит ли значение вариант Some:

fn main() { let res = Some(5); if let Some(x) = res { println!("value: {}", x); } }

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

value: 5

Пример

Давайте проверим поведение оператора if let, когда значение содержит вариант None:

fn main() { let res = None; if let Some(x) = res { println!("value: {}", x); } else { println!("no value"); } }

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

no value

Пример

Давайте используем оператор if let с пользовательским перечислением:

enum Color { Red, Green, Blue, } fn main() { let res = Color::Green; if let Color::Green = res { println!("green"); } else { println!("not green"); } }

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

"green"

Пример

Давайте используем оператор if let с кортежным вариантом перечисления:

enum Message { Text(String), Number(i32), } fn main() { let res = Message::Number(12345); if let Message::Number(n) = res { println!("number: {}", n); } else { println!("not a number"); } }

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

number: 12345

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

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