
Pattern Matching
Ekspresi match, if let, while let, destructuring, guards, @ bindings, exhaustiveness
1Apa sintaks yang benar untuk ekspresi match dasar di Rust?
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.
2Pattern mana yang harus digunakan untuk menangkap semua nilai yang tersisa dalam sebuah match?
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.
3Bagaimana cara kerja if let dibandingkan dengan match?
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.
Apa itu exhaustiveness dalam konteks pattern matching Rust?
Bagaimana cara mendekonstruksi tuple dalam pattern match?
+15 pertanyaan wawancara
Topik wawancara Rust lainnya
Dasar-Dasar Rust
Ownership & Borrowing
Structs & Enums
Penanganan Error
Collections
Module & Package
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Macro
Serde & Serialisasi
Unsafe Rust
Trait Lanjutan
Lifetime Lanjutan
Type System
Tokio & Async I/O
Optimasi Performa
Memory Management
Web Frameworks
Database Integration
Design Pattern Rust
Kuasai Rust untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis