Menu
CoddyTech

Ekspresi 'if let'

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 4 dari 66.

Terkadang kamu hanya perlu memeriksa satu pola tertentu dan tidak peduli dengan kemungkinan lainnya. Menulis ekspresi match lengkap dengan hanya satu arm yang bermakna dan _ sebagai penampung semua bisa terasa bertele-tele. Rust menyediakan if let sebagai alternatif yang lebih ringkas untuk situasi seperti ini.

Ekspresi if let memungkinkan kamu menggabungkan pencocokan pola dengan logika percabangan dalam satu pernyataan yang mudah dibaca. Berikut sintaks dasarnya:

if let pattern = value {
    // kode yang dijalankan jika pola cocok
}

Sebagai contoh, alih-alih menulis match yang hanya memiliki satu cabang berguna:

let number = 5;

match number {
    5 => println!("Found five!"),
    _ => (), // jangan lakukan apa pun untuk nilai lain
}

Kamu bisa menggunakan if let agar lebih rapi:

let number = 5;

if let 5 = number {
    println!("Found five!");
}

Ekspresi if let hanya menjalankan blok kode ketika pola cocok. Jika tidak cocok, tidak terjadi apa-apa, tidak perlu kasus "else" yang eksplisit kecuali kamu menginginkannya.

challenge icon

Tantangan

Mudah

Kamu akan menerima sebuah angka sebagai input. Baca input tersebut, ubah menjadi bilangan bulat, lalu gunakan ekspresi if let untuk memeriksa apakah angkanya tepat 42. Jika cocok, cetak "The answer!". Jika tidak cocok, jangan cetak apa pun.

Persyaratan:

  • Gunakan ekspresi if let untuk memeriksa apakah angka tersebut sama dengan 42
  • Jika angkanya 42, cetak "The answer!"
  • Jika angkanya bukan 42, jangan cetak apa pun

Input: Satu bilangan bulat

Output: Cetak "The answer!" jika angkanya 42, jika tidak, jangan cetak apa pun

Coba sendiri

use std::io;

fn main() {
    // Baca input
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let number: i32 = input.trim().parse().expect("Please enter a valid number");
    
    // TODO: Tulis kodemu di bawah ini
    // Gunakan if let untuk memeriksa apakah number sama dengan 42
    
}
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