التفرع باستخدام if و else في لغة Go مباشر وواضح.
package main
import "fmt"
func main() {
إليك مثال أساسي.
if 7%2 == 0 {
fmt.Println("7 هو عدد زوجي")
} else {
fmt.Println("7 هو عدد فردي")
}
يمكنك استخدام if بدون else.
if 8%4 == 0 {
fmt.Println("8 يقبل القسمة على 4")
}
العوامل المنطقية مثل && و || مفيدة غالباً في الشروط.
if 8%2 == 0 || 7%2 == 0 {
fmt.Println("إما 8 أو 7 عدد زوجي")
}
يمكن أن تسبق الشروط عبارة (statement)؛ أي متغيرات يتم التصريح عنها في هذه العبارة تكون متاحة في الفرع الحالي وجميع الفروع اللاحقة.
if num := 9; num < 0 {
fmt.Println(num, "هو عدد سالب")
} else if num < 10 {
fmt.Println(num, "يتكون من رقم واحد")
} else {
fmt.Println(num, "يتكون من عدة أرقام")
}
}
لاحظ أنك لا تحتاج إلى أقواس حول الشروط في Go، ولكن الأقواس المعقوفة {} مطلوبة دائماً.
تشغيل البرنامج:
$ go run if-else.go
7 هو عدد فردي
8 يقبل القسمة على 4
إما 8 أو 7 عدد زوجي
9 يتكون من رقم واحد
لا يوجد عامل شرطي ثلاثي (ternary if) في Go، لذا ستحتاج إلى استخدام جملة if كاملة حتى للشروط البسيطة.
المثال التالي: جمل الاختيار (Switch).