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.
Tantangan
MudahKamu 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 letuntuk memeriksa apakah angka tersebut sama dengan42 - 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
}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