Go بالأمثلة: الجمل الشرطية (If/Else)

التفرع باستخدام 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).