اگر وگرنه (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);
گام های تمرین
- یک شرط ساده با عدد بساز و چاپ کن.
- برای سه حالت،
else ifاضافه کن. if..elseرا به یک متغیر مقدار بده.
جمع بندی سریع
ifبرای وقتی شرط درست است.elseبرای حالت مخالف.else ifبرای چند مسیر.if..elseمی تواند مقدار بدهد.- نوع دو شاخه باید یکی باشد.
برای ادامه مسیر: بولین ها در راست را مرور کن و بعد به match در راست سر بزن. همچنین این صفحه اگر وگرنه (If..Else) را نشانه گذاری کن.