Match Expression — Rust

Match Expression di Rust match adalah fitur pattern matching yang sangat powerful di Rust — mirip switch di bahasa lain, tapi jauh lebih ekspresif. Sintaks Dasa

Match Expression di Rust

match adalah fitur pattern matching yang sangat powerful di Rust — mirip switch di bahasa lain, tapi jauh lebih ekspresif.

Sintaks Dasar

let angka = 3;

match angka {
    1 => println!("Satu"),
    2 => println!("Dua"),
    3 => println!("Tiga"),
    _ => println!("Lainnya"),  // _ = wildcard (default)
}

Match sebagai Expression

let x = 5;
let pesan = match x {
    1 => "satu",
    2 => "dua",
    3..=5 => "tiga sampai lima",  // range pattern
    _ => "lainnya",
};
println!("{}", pesan);

Multiple Patterns

let x = 4;
match x {
    1 | 2 => println!("satu atau dua"),   // OR pattern
    3..=5 => println!("tiga sampai lima"), // range
    _ => println!("lainnya"),
}

Match dengan Tuple

let koordinat = (0, -2);
match koordinat {
    (0, 0) => println!("Origin"),
    (x, 0) => println!("Di sumbu X: {}", x),
    (0, y) => println!("Di sumbu Y: {}", y),
    (x, y) => println!("Titik: ({}, {})", x, y),
}

Exhaustive Matching

Rust memaksa kita menangani semua kemungkinan. Jika ada pola yang belum ditangani, compiler akan error — ini mencegah bug!

Yang akan kamu pelajari