Rust

Pattern Matching

Вирази match, if let, while let, деструктуризація, guards, @ bindings, повнота (exhaustiveness)

18 питань зі співбесід·
Mid-Level
1

Який правильний синтаксис для базового виразу match у Rust?

Відповідь

Вираз match у Rust використовує ключове слово match, за яким іде значення для аналізу, потім фігурні дужки, що містять різні гілки (pattern), розділені комами. Кожна гілка використовує pattern, за яким іде => і код для виконання. Цей синтаксис дозволяє компілятору перевірити, що всі можливі випадки охоплені.

2

Який pattern слід використовувати для захоплення всіх решти значень у match?

Відповідь

Pattern _ (underscore) — це catch-all pattern у Rust. Він збігається з будь-яким значенням, не прив'язуючи його до змінної. Альтернативно, використання імені змінної (як other чи n) захоплює значення. _ є кращим вибором, коли значення не використовується, оскільки чітко вказує на намір.

3

Як працює if let порівняно з match?

Відповідь

if let — це скорочений синтаксис для match, який обробляє лише один pattern і ігнорує інші. Замість того щоб писати повний match з catch-all arm _, if let дозволяє лаконічно витягти значення, коли важливий лише конкретний випадок. Це особливо корисно з Option та Result.

4

Що таке exhaustiveness у контексті pattern matching у Rust?

5

Як деструктурувати tuple у pattern match?

+15 питань зі співбесід

Опануй Rust для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно