دستور if…else if…else

اگر بخواهید چند شرط را بررسی کنید چکار می‌کنید؟ می‌توانید از چندین دستور if استفاده کنید و بهتر است که این دستورات if را به صورت زیر بنویسید :

if condition {
    code to execute
} else {
    if condition {
        code to execute
    }
} else {
    if condition {
        code to execute
    }
} else {
    code to execute
}

خواندن کد بالا سخت است. بهتر است دستورات را به صورت تو رفتگی در داخل بلوک else بنویسید. می‌توانید کد بالا را ساده‌تر کنید :

if  condition  {
   code to execute
} else if condition  {
   code to execute
} else if condition  {
   code to execute
} else {
   code to execute
}

حال که نحوه استفاده از دستور if else را یاد گرفتید باید بدانید که مانند else ، else if نیز به دستور if وابسته است. دستور else if وقتی اجرا می‌شود که اولین دستور if اشتباه باشد حال اگر else if اشتباه باشد دستور else if بعدی اجرا می‌شود. و اگر آن نیز اجرا نشود در نهایت دستور else اجرا می‌شود. برنامه زیر نحوه استفاده از دستورelse if را نشان می‌دهد :

  1: package main
  2: 
  3: import "fmt"
  4: 
  5: func main() {
  6:     fmt.Println("What's your favorite color?")
  7:     fmt.Println("[1] Black")
  8:     fmt.Println("[2] White")
  9:     fmt.Println("[3] Blue")
 10:     fmt.Println("[4] Red")
 11:     fmt.Println("[5] Yellown")
 12: 
 13:     var choice int
 14: 
 15:     fmt.Print("Enter your choice: ")
 16:     fmt.Scanln(&choice)
 17: 
 18:     if (choice == 1) {
 19:         print("You might like my black t-shirt.")
 20:     } else if (choice == 2) {
 21:         print("You might be a clean and tidy person.")
 22:     } else if (choice == 3) {
 23:         print("You might be sad today.")
 24:     } else if (choice == 4) {
 25:         print("You might be inlove right now.")
 26:     } else if (choice == 5) {
 27:         print("Lemon might be your favorite fruit.")
 28:     } else {
 29:         print("Sorry, your favorite color is not in the choices above.")
 30:     }
 31: }
What's your favorite color?
[1] Black
[2] White
[3] Blue
[4] Red
[5] Yellow

Enter your choice: 1
You might like my black t-shirt.
What's your favorite color?
[1] Black
[2] White
[3] Blue
[4] Red
[5] Yellow

Enter your choice: 999
Sorry, your favorite color is not in the choices above.

خروجی برنامه بالا به متغیر choice وابسته است. بسته به اینکه شما چه چیزی انتخاب می‌کنید پیغامهای مختلفی چاپ می‌شود. اگر عددی که شما تایپ می‌کنید در داخل حالتهای انتخاب نباشد کد مربوط به بلوک else اجرا می‌شود.