Патерни та деструктуризація
При роботі з кортежами та іншими структурованими значеннями часто виникає потреба витягти внутрішні значення у локальні змінні. Це можна зробити вручну шляхом прямого доступу до внутрішніх значень:
Однак, Rust також підтримує використання зіставлення шаблонів для розбиття більшого значення на складові частини:
Speaker Notes
This slide should take about 5 minutes.
- Шаблони, що використовуються тут, є “неспростовними”, тобто компілятор може статично перевірити, що значення праворуч від
=
має таку саму структуру, як і шаблон. - Ім’я змінної - це неспростовний шаблон, який завжди відповідає будь-якому значенню, тому ми також можемо використовувати
let
для оголошення однієї змінної. - Rust також підтримує використання шаблонів в умовних операторах, що дозволяє виконувати порівняння на рівність і деструкцію одночасно. Ця форма порівняння шаблонів буде розглянута більш детально пізніше.
- Відредагуйте приклади вище, щоб показати помилку компілятора, коли шаблон не збігається зі значенням, що порівнюється.