Rust shart operatorlari (If..Else)


ULASHISH

Shartlar va If..Else

Siz allaqachon bilasizki, Rust matematikadan tanish bo‘lgan taqqoslash shartlarini qo‘llab-quvvatlaydi, masalan:

  • Kichik: a < b
  • Kichik yoki teng: a <= b
  • Katta: a > b
  • Katta yoki teng: a >= b
  • Teng a == b
  • Teng emas: a != b

Bu shartlardan turli qarorlar uchun turli amallarni bajarishda foydalanishingiz mumkin.

Rustda quyidagi shart operatorlari mavjud:

  • Agar belgilangan shart true bo‘lsa, bajarilishi kerak bo‘lgan kod blokini belgilash uchun if operatoridan foydalaning
  • Agar o‘sha shart false bo‘lsa, bajarilishi kerak bo‘lgan kod blokini belgilash uchun else operatoridan foydalaning
  • Agar birinchi shart false bo‘lsa, tekshiriladigan yangi shartni belgilash uchun else if operatoridan foydalaning
  • Bajarilishi mumkin bo‘lgan ko‘plab muqobil kod bloklarini belgilash uchun match operatoridan foydalaning

Eslatma: Boshqa ko‘plab dasturlash tillaridan farqli o‘laroq, Rustda if..else operator (ko‘rsatma) sifatida ham, ifoda sifatida ham (o‘zgaruvchiga qiymat tayinlash uchun) ishlatilishi mumkin. Buni yaxshiroq tushunish uchun sahifa oxiridagi misolni ko‘ring.


if

Shart true bo‘lsa, bajarilishi kerak bo‘lgan kod blokini belgilash uchun if operatoridan foydalaning.

Misol

if 7 > 5 {   println!("7 is greater than 5."); }
O‘zingiz sinab ko‘ring »

O‘zgaruvchilarni ham tekshirishingiz mumkin:

Misol

let x = 7; let y = 5; if x > y {   println!("x is greater than y."); }
O‘zingiz sinab ko‘ring »

if...else

Agar shart rost bo‘lmasa, boshqa kodni bajarish uchun else blokidan foydalanishingiz mumkin:

Misol

let age = 16; if age >= 18 {   println!("You can vote."); } else {   println!("You are too young to vote."); }
O‘zingiz sinab ko‘ring »


else if

else if yordamida bir nechta shartni tekshirishingiz mumkin:

Misol

let score = 85; if score >= 90 {   println!("Grade: A"); } else if score >= 80 {   println!("Grade: B"); } else if score >= 70 {   println!("Grade: C"); } else {   println!("Grade: F"); }
O‘zingiz sinab ko‘ring »

if operatorini ifoda sifatida ishlatish

Rustda if...else ifoda sifatida ham ishlatilishi mumkin.

Bu if natijasini o‘zgaruvchiga tayinlash mumkinligini anglatadi:

Misol

let time = 20; let greeting = if time < 18 {   "Good day." } else {   "Good evening." }; println!("{}", greeting);
O‘zingiz sinab ko‘ring »

if operatorini ifoda sifatida ishlatganda else qismini albatta qo‘shishingiz kerak. Bu natija doim qiymatga ega bo‘lishini ta’minlaydi.


Soddalashtirilgan sintaksis

Agar har bir blokda faqat bitta ifoda bo‘lsa, uni bir qatorda qisqaroq shaklda yozishingiz mumkin:

Misol

let time = 20; let greeting = if time < 18 { "Good day." } else { "Good evening." }; println!("{}", greeting);
O‘zingiz sinab ko‘ring »

Maslahat: Bu Java yoki C kabi tillardagi ternar operatorga (condition ? value1 : value2) o‘xshash ishlaydi. Biroq Rustda ternar operator yo‘q, lekin if...else operatorini ifoda sifatida ishlatish xuddi shunday natija beradi.


Tiplarni aralashtirmang

Eslatma: if va else qaytaradigan qiymatlar bir xil tipda bo‘lishi kerak, masalan, ikkita matn yoki ikkita son (yuqoridagi misolda ikkalasi ham string).

Agar tiplarni aralashtirsangiz, masalan, string va butun sonni, xatoga duch kelasiz:

Misol

let number = 5; let result = if number < 10 { "Too small" } else { 100 }; println!("{}", result);

Natija:

error[E0308]: `if` and `else` have incompatible types


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!