Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah
Tulis 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 num adalah 0, kembalikan "zero"
  • Jika num adalah 1, kembalikan "one"
  • Jika num adalah 2, kembalikan "two"
  • Jika num adalah 3, 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
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online