Rust

Rust — اگر وگرنه (If..Else)

آخرین بروزرسانی: 1404/08/14

اگر وگرنه (If..Else)

دستور شرطی if..else یعنی تصمیم گیری. اگر شرط درست باشد، یک کار می کنیم؛ وگرنه کار دیگر. مثل نمره انضباط مدرسه؛ خوب باشد تشویق می گیری، بد باشد تذکر می گیری.

مقایسه ها و تصمیم ها

شرط ها با مقایسه می آیند؛ مانند a < b یا a == b. نتیجه همیشه بولین است؛ یا درست یا غلط.

نمونه if با مقدار ثابت

اگر شرط درست باشد، بلوک داخل آکولاد اجرا می شود.

if 7 > 5 {
  println!("7 is greater than 5.");
}

مشاهده در ادیتور

نمونه if با متغیرها

می توانی دو متغیر را مقایسه کنی و پیام چاپ کنی.

let x = 7;
let y = 5;
if x > y {
  println!("x is greater than y.");
}

مشاهده در ادیتور

ساختار if ... else

اگر شرط برقرار نبود، بخش else اجرا می شود.

let age = 16;
if age >= 18 {
  println!("You can vote.");
} else {
  println!("You are too young to vote.");
}

مشاهده در ادیتور

چند شرط با else if

برای حالت های بیشتر از else if استفاده کن.

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");
}

مشاهده در ادیتور

استفاده از if به عنوان عبارت

در راست، if..else می تواند مقدار برگرداند. پس می توانی آن را به متغیر بدهی.

let time = 20;
let greeting = if time < 18 {
  "Good day."
} else {
  "Good evening."
};
println!("{}", greeting);

مشاهده در ادیتور

نگارش کوتاه، ولی خوانا

اگر هر بلوک یک عبارت دارد، می شود کوتاه نوشت. بااین حال، خوانایی مهم است.

let time = 20;
let greeting = if time < 18 {
  "Good day."
} else {
  "Good evening."
};
println!("{}", greeting);

مشاهده در ادیتور

نکته: راست عملگر سه تایی ندارد؛ اما if..else همان کار را می کند.

مخلوط کردن نوع ها ممنوع

مقدار دو شاخه باید هم نوع باشد. مثلاً هر دو رشته باشند.

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

مشاهده در ادیتور

گام های تمرین

  1. یک شرط ساده با عدد بساز و چاپ کن.
  2. برای سه حالت، else if اضافه کن.
  3. if..else را به یک متغیر مقدار بده.

جمع بندی سریع

  • if برای وقتی شرط درست است.
  • else برای حالت مخالف.
  • else if برای چند مسیر.
  • if..else می تواند مقدار بدهد.
  • نوع دو شاخه باید یکی باشد.

برای ادامه مسیر: بولین ها در راست را مرور کن و بعد به match در راست سر بزن. همچنین این صفحه اگر وگرنه (If..Else) را نشانه گذاری کن.