Rust match


ULASHISH

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:

  • match o‘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 tillardagi default kabi).
  • 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!