# Pattern Matching (Rust) > Ekspresi match, if let, while let, destructuring, guards, @ bindings, exhaustiveness - 18 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara.md) ## 1. Apa sintaks yang benar untuk ekspresi match dasar di Rust? **Jawaban** Ekspresi match di Rust menggunakan kata kunci match diikuti oleh nilai yang akan dianalisis, lalu kurung kurawal yang berisi berbagai arm (pattern) yang dipisahkan koma. Setiap arm menggunakan pattern diikuti oleh => dan kode yang akan dieksekusi. Sintaks ini memungkinkan compiler memverifikasi bahwa semua kemungkinan kasus tercakup. ## 2. Pattern mana yang harus digunakan untuk menangkap semua nilai yang tersisa dalam sebuah match? **Jawaban** Pattern _ (underscore) adalah pattern catch-all di Rust. Ia cocok dengan nilai apa pun tanpa mengikatnya ke sebuah variabel. Sebagai alternatif, menggunakan nama variabel (seperti other atau n) menangkap nilai tersebut. _ lebih disukai ketika nilai tidak digunakan karena dengan jelas menunjukkan maksudnya. ## 3. Bagaimana cara kerja if let dibandingkan dengan match? **Jawaban** if let adalah sintaks ringkas untuk match yang menangani hanya satu pattern dan mengabaikan yang lain. Alih-alih menulis match lengkap dengan arm catch-all _, if let memungkinkan ekstraksi nilai secara ringkas ketika hanya satu kasus tertentu yang penting. Ini sangat berguna dengan Option dan Result. ## 15 pertanyaan lagi tersedia - Apa itu exhaustiveness dalam konteks pattern matching Rust? - Bagaimana cara mendekonstruksi tuple dalam pattern match? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Rust lainnya - [Dasar-Dasar Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/rust-basics.md): 25 pertanyaan, Junior - [Ownership & Borrowing](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/ownership-borrowing.md): 22 pertanyaan, Junior - [Structs & Enums](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/structs-enums.md): 20 pertanyaan, Junior - [Penanganan Error](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/error-handling.md): 18 pertanyaan, Junior - [Collections](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/collections.md): 20 pertanyaan, Junior - [Module & Package](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/modules-packages.md): 18 pertanyaan, Junior - [Traits](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/traits.md): 22 pertanyaan, Mid-Level - [Generics](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/generics.md): 20 pertanyaan, Mid-Level - [Lifetimes](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/lifetimes.md): 20 pertanyaan, Mid-Level - [Iterators & Closures](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/iterators-closures.md): 22 pertanyaan, Mid-Level - [Smart Pointers](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/smart-pointers.md): 22 pertanyaan, Mid-Level - [Concurrency Basics](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/concurrency-basics.md): 20 pertanyaan, Mid-Level - [async/await](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/async-await.md): 22 pertanyaan, Mid-Level - [Testing](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/testing.md): 18 pertanyaan, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/cargo-ecosystem.md): 18 pertanyaan, Mid-Level - [Macro](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/macros.md): 20 pertanyaan, Mid-Level - [Serde & Serialisasi](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/serde-serialization.md): 20 pertanyaan, Mid-Level - [Unsafe Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/unsafe-rust.md): 20 pertanyaan, Senior - [Trait Lanjutan](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/advanced-traits.md): 22 pertanyaan, Senior - [Lifetime Lanjutan](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/advanced-lifetimes.md): 20 pertanyaan, Senior - [Type System](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/type-system.md): 20 pertanyaan, Senior - [Tokio & Async I/O](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/tokio-async.md): 22 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/performance-optimization.md): 20 pertanyaan, Senior - [Memory Management](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/memory-management.md): 20 pertanyaan, Senior - [Web Frameworks](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/web-frameworks.md): 22 pertanyaan, Senior - [Database Integration](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/database-integration.md): 20 pertanyaan, Senior - [Design Pattern Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/design-patterns.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/pattern-matching