Шаблоны и сопоставление
Шаблоны — это специальный синтаксис Rust для сопоставления со структурой типов,
как сложных, так и простых. Использование шаблонов вместе с выражениями
match и другими конструкциями дает вам больше контроля над потоком
управления программы. Шаблон состоит из некоторой комбинации следующих
элементов:
- литералы
- деструктурированные массивы, перечисления, структуры или кортежи
- переменные
- групповые символы
- заполнители
Некоторые примеры шаблонов: x, (a, 3) и Some(Color::Red). В контекстах,
где шаблоны допустимы, эти компоненты описывают форму данных. Затем наша
программа сопоставляет значения с шаблонами, чтобы определить, имеют ли данные
правильную форму для продолжения выполнения определенного участка кода.
Чтобы использовать шаблон, мы сравниваем его с некоторым значением. Если
шаблон соответствует значению, мы используем части значения в нашем коде.
Вспомните выражения match из главы 6, которые использовали шаблоны,
например пример с машиной для сортировки монет. Если значение подходит под
форму шаблона, мы можем использовать именованные части. Если не подходит, код,
связанный с шаблоном, не будет выполнен.
Эта глава является справочником по всему, что связано с шаблонами. Мы рассмотрим допустимые места использования шаблонов, различие между опровержимыми и неопровержимыми шаблонами, а также разные виды синтаксиса шаблонов, которые вы можете встретить. К концу главы вы будете знать, как использовать шаблоны, чтобы ясно выражать многие концепции.