شرط if...else
شرطهای if، else if، else و ویژگی منحصربهفرد Go: if با دستور کوتاه.
دستور شرطی if
دستور if در Go مثل سایر زبانهاست اما بدون پرانتز دور شرط:
age := 20
if age >= 18 {
fmt.Println("شما بزرگسال هستید")
}
if...else
age := 15
if age >= 18 {
fmt.Println("بزرگسال")
} else {
fmt.Println("کودک یا نوجوان")
}
if...else if...else
score := 85
if score >= 90 {
fmt.Println("عالی (A)")
} else if score >= 80 {
fmt.Println("خیلی خوب (B)")
} else if score >= 70 {
fmt.Println("خوب (C)")
} else {
fmt.Println("نیاز به تلاش بیشتر")
}
if با دستور کوتاه (ویژگی خاص Go!)
میتوانید قبل از شرط، متغیری تعریف کنید که فقط داخل if وجود دارد:
// تعریف و بررسی در یک خط!
if age := 20; age >= 18 {
fmt.Println("بزرگسال") ← age فقط همینجا موجود است
}
// رایجترین کاربرد: بررسی خطا
if err := doSomething(); err != nil {
fmt.Println("خطا رخ داد:", err)
}
الگوی
if err := ...; err != nil پرتکرارترین الگوی Go است — در همه کدهای حرفهای میبینید!شرطهای تو در تو
age := 25
hasLicense := true
if age >= 18 {
if hasLicense {
fmt.Println("میتوانید رانندگی کنید")
} else {
fmt.Println("اول گواهینامه بگیرید")
}
} else {
fmt.Println("سن شما کافی نیست")
}
ترکیب شرطها
age := 25
income := 3000
if age >= 18 && income >= 2000 {
fmt.Println("وام تایید شد")
}
if age < 18 || age > 65 {
fmt.Println("خارج از محدوده کاری")
}
نکات مهم
- بدون پرانتز دور شرط —
if (age > 18)در Go مرسوم نیست - آکولاد اجباری — حتی برای یک خط!
- آکولاد باز باید در همان خط
elseباشد:} else {
این مبحث بخشی از دوره آموزش کامل گو است.