CodeBlanks Logo Icon CodeBlanks

if, else if, else

Go'da if, else if ve else ile koşullu dallanmayı öğrenirsin.

if, else if, else

Go'da if koşulu parantez gerektirmez ama süslü parantez zorunludur. Koşul mutlaka bool olmalıdır; sayıyı doğrudan koşul olarak kullanamazsın.

not := 72
if not >= 85 {
    fmt.Println("pekiyi")
} else if not >= 60 {
    fmt.Println("geçti")
} else {
    fmt.Println("kaldı")
}

else, kapanan süslü parantezle aynı satırda olmalıdır.

Kısa ifadeli if

if koşuldan önce kısa bir ifade alabilir; burada tanımlanan değişken yalnızca if-else bloğunda geçerlidir. Hata kontrolünde çok kullanılır:

if n, err := strconv.Atoi("42"); err != nil {
    fmt.Println("hata:", err)
} else {
    fmt.Println(n * 2)  // 84
}
// n burada tanımlı değildir

Uygulama Not değerlendirme

degerlendir(not int) string fonksiyonu yaz: 85 ve üzeri "pekiyi", 60 ve üzeri "geçti", diğerleri "kaldı". degerlendir(90), degerlendir(72) ve degerlendir(45) sonuçlarını tek satırda yazdır.

Başlangıç kodu

main.go
package main

import "fmt"

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
package main

import "fmt"

func degerlendir(not int) string {
    if not >= 85 {
        return "pekiyi"
    } else if not >= 60 {
        return "geçti"
    }
    return "kaldı"
}

func main() {
    fmt.Println(degerlendir(90), degerlendir(72), degerlendir(45))
}

Beklenen çıktı

pekiyi geçti kaldı

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>if n { ... }</code> (n bir int) neden derlenmez?

  • Derlenir
  • Koşul bool olmalı; n != 0 yazılmalı Doğru cevap
  • Parantez eksik
  • if içinde int kullanılamaz

Açıklama: Go sayıları ya da nil'i otomatik bool'a çevirmez; karşılaştırma açıkça yazılır.

2 Ara koşul

Soru
if not >= 85 {
    fmt.Println("pekiyi")
} ____ not >= 60 {
    fmt.Println("geçti")
}
Cevap
if not >= 85 {
    fmt.Println("pekiyi")
} else if not >= 60 {
    fmt.Println("geçti")
}

Açıklama: Go'da ek koşul else if ile yazılır.

3 Not ve sonuç

Kavram Anlamı
90 pekiyi
72 geçti
45 kaldı
else Hiçbiri doğru değilse

Başlangıç bölümündeki tüm dersler