Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Образцы и сопоставление

Образцы (patterns) — это особый синтаксис Rust для сопоставления со структурой типов, как сложных, так и простых. Образцы вместе с выражениями match и другими конструкциями дают больше контроля над тем, как выполняется программа. Образец состоит из некоторого сочетания следующего:

  • литералов;
  • деструктурированных массивов, перечислений, структур или кортежей;
  • переменных;
  • подстановочных знаков (wildcards);
  • заполнителей (placeholders).

Примеры образцов: x, (a, 3) и Some(Color::Red). В тех местах, где образцы допустимы, эти составные части описывают форму данных. Программа сопоставляет значения с образцами, чтобы определить, подходит ли форма данных для того, чтобы выполнить определённый фрагмент кода.

Чтобы использовать образец, его сравнивают с каким-то значением. Если образец совпадает со значением, части этого значения можно использовать в коде. Вспомните выражения match из главы 6 с образцами — например, пример с автоматом для сортировки монет. Если значение подходит под форму образца, можно пользоваться его именованными частями. Если нет — код, связанный с образцом, не выполнится.

Эта глава — справочник по всему, что касается образцов. Мы разберём, где можно использовать образцы, чем опровержимые образцы отличаются от неопровержимых и какие бывают разновидности синтаксиса образцов. К концу главы вы будете знать, как с помощью образцов ясно выражать самые разные идеи.