Ekspresi 'match'
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 1 dari 66.
Ekspresi match adalah alat pencocokan pola Rust yang canggih. Alat ini memungkinkan kamu membandingkan nilai dengan berbagai pola dan menjalankan kode berdasarkan pola yang cocok. Anggap saja ini sebagai versi pernyataan if yang lebih canggih dan dapat menangani banyak kondisi dengan mudah.
Berikut sintaks dasar ekspresi match:
match value {
pattern1 => code_to_run,
pattern2 => code_to_run,
_ => default_code,
}Setiap baris di dalam match disebut "cabang". => memisahkan pola dari kode yang dijalankan ketika pola tersebut cocok. Garis bawah _ adalah pola wildcard khusus yang cocok dengan apa pun, seperti pola "penampung semua" untuk nilai apa pun yang tidak cocok dengan pola lainnya.
Berikut contoh sederhana yang memeriksa sebuah angka:
let number = 2;
match number {
1 => println!("One"),
2 => println!("Two"),
_ => println!("Other"),
}Di Rust, ekspresi match harus menyeluruh, artinya ekspresi tersebut harus menangani setiap nilai yang mungkin. Itulah sebabnya wildcard _ sangat penting: wildcard ini memastikan kamu telah mencakup semua kasus yang tidak dicocokkan secara eksplisit.
Tantangan
MudahTulis fungsi describe_number yang menerima num dan mengembalikan deskripsi string berdasarkan nilai angka tersebut.
Gunakan ekspresi match untuk mengembalikan deskripsi yang berbeda untuk angka yang berbeda.
Kondisi:
- Jika
numadalah0, kembalikan"zero" - Jika
numadalah1, kembalikan"one" - Jika
numadalah2, kembalikan"two" - Jika
numadalah3, kembalikan"three" - Untuk angka lainnya, kembalikan
"many"
Parameter:
num(i32): Angka yang akan dideskripsikan
Nilai yang dikembalikan: Deskripsi string dari angka tersebut (String)
Coba sendiri
fn describe_number(num: i32) -> String {
// Tulis kodemu di sini
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Alur Kontrol Lanjutan
Ekspresi 'match'Mencocokkan Beberapa NilaiMencocokkan RentangEkspresi 'if let'Perulangan sebagai EkspresiRangkuman, Parser Perintah Sederhana4Mengelompokkan Data dengan Struct
Apa Itu Struct?Ringkasan StructMengakses Field StructStruct yang Dapat DiubahStruct sebagai Parameter FungsiStruct TupleRangkuman: Buat Struct Buku2Pengantar Vektor
Apa Itu Vektor?Membuat VektorMenambahkan Elemen dengan pushMengakses Elemen VektorMelakukan Iterasi pada VektorIterasi MutableMenghapus ElemenRangkuman: Pelacak Skor Dasar5Pasangan Kunci-Nilai dengan Hash Map
Apa Itu Hash Map?Membuat Hash MapMenyisipkan Pasangan Kunci-NilaiMengakses NilaiMenelusuri Hash MapMemperbarui NilaiMenghapus PasanganRangkuman: Penghitung Kata8Proyek: Inventaris Barang Sederhana
Menyiapkan ProyekMenambahkan BarangMemeriksa StokMenjual BarangMenyatukan Semuanya3Daftar Tugas Baris Perintah
Penyiapan ProyekMenambahkan TugasMelihat Semua TugasMenghapus TugasKode AkhirLatihan sendiri: Compiler Rust online