Menu
CoddyTech

Pernyataan Match

Termasuk bagian Dasar-Dasar dalam perjalanan Rust di Coddy. Pelajaran 26 dari 75.

Ekspresi match memungkinkan kamu membandingkan suatu nilai dengan serangkaian pola dan menjalankan kode berdasarkan pola yang cocok.

Berikut struktur dasar ekspresi match:

match variable {
	pattern1 => expression1,
	pattern2 => expression2,
	// ... pola lainnya
	_ => default_expression,
}

Kata kunci match diikuti oleh nilai yang ingin kamu uji.

Setiap cabang dari match terdiri dari pola yang diikuti => dan kode yang dijalankan.

Garis bawah _ adalah kasus default yang cocok dengan apa pun yang tidak cocok dengan pola lain.

Berikut contohnya:

let day = 3;
let day_name = match day {
	1 => "Monday",
	2 => "Tuesday",
	3 => "Wednesday",
	// ... pola lainnya,
	_ => "Invalid day",
};

Untuk beberapa baris kode dalam sebuah arm, gunakan blok:

let day = 3;
let day_name = match day {
	1 => {
		println!("First day of the week!");
		"Monday"
	},
	2 => "Tuesday",
	// ... kasus lainnya
	_ => "Invalid day",
};

Kamu dapat mencocokkan beberapa pola menggunakan |:

let day = 3;
let day_type = match day {
	1 | 2 | 3 | 4 | 5 => "Weekday",
	6 | 7 => "Weekend",
	_ => "Invalid day",
};

Ekspresi match di Rust harus menyeluruh, artinya harus mencakup semua nilai yang mungkin. Compiler akan memeriksanya untukmu.

challenge icon

Tantangan

Pemula

Buat program yang menerima nomor bulan (1 untuk Januari, 2 untuk Februari, dan seterusnya), lalu mencetak musim yang sesuai. Gunakan pernyataan match untuk logikanya.

Musim dan bulan yang sesuai adalah:

  • "Winter": Desember (12), Januari (1), Februari (2)
  • "Spring": Maret (3), April (4), Mei (5)
  • "Summer": Juni (6), Juli (7), Agustus (8)
  • "Autumn": September (9), Oktober (10), November (11)

Tetapkan string bahasa Inggris yang persis ini ke season, agar program mencetak, misalnya, status = Spring.

Coba sendiri

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let month: i32 = input.trim().parse().unwrap();
    // Tulis kodemu di bawah ini
    let season = 

    // Jangan ubah baris di bawah ini
    println!("status = {}", season);
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Rust online