Rust match
Match
Tanlov variantlari ko‘p bo‘lganda, ko‘plab if...else yozgandan ko‘ra match ishlatish osonroq.
match bajariladigan ko‘plab kod bloklaridan birini tanlash uchun ishlatiladi:
Misol
fn main() {
let day = 4;
match day {
1 => println!("Monday"),
2 => println!("Tuesday"),
3 => println!("Wednesday"),
4 => println!("Thursday"),
5 => println!("Friday"),
6 => println!("Saturday"),
7 => println!("Sunday"),
_ => println!("Invalid day."),
}
}
O‘zingiz sinab ko‘ring »
Misol tushuntirilishi:
matcho‘zgaruvchisi (day) bir marta hisoblanadi.- day o‘zgaruvchisining qiymati har bir "tarmoq" (branch) qiymatlari bilan taqqoslanadi
- Har bir tarmoq qiymat bilan boshlanadi, undan keyin
=>va natija keladi - Agar moslik topilsa, tegishli kod bloki bajariladi
_moslik topilmagan holatda bajariladigan kodni belgilash uchun ishlatiladi (boshqa tillardagidefaultkabi).- Yuqoridagi misolda day qiymati 4 ga teng, ya’ni "Thursday" chiqariladi
Bir nechta moslik
| operatori (YOKI) yordamida bir nechta qiymatni bir vaqtda tekshirishingiz mumkin:
Misol
fn main() {
let day = 6;
match day {
1 | 2 | 3 | 4 | 5 => println!("Weekday"),
6 | 7 => println!("Weekend"),
_ => println!("Invalid day"),
}
}
O‘zingiz sinab ko‘ring »
Qiymat qaytaruvchi match
Xuddi if kabi, match ham qiymat qaytarishi mumkin:
Bu match natijasini o‘zgaruvchiga saqlash mumkinligini anglatadi:
Misol
fn main() {
let day = 4;
let result = match day {
1 => "Monday",
2 => "Tuesday",
3 => "Wednesday",
4 => "Thursday",
5 => "Friday",
6 => "Saturday",
7 => "Sunday",
_ => "Invalid day.",
};
println!("{}", result);
}
O‘zingiz sinab ko‘ring »
Eslatma: match tarmoqlarining har bir qismi bir xil tipda bo‘lishi kerak - xuddi if...else dagi kabi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
