Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

If-Else Koşulları

Koşullu ifadeler program akışını kontrol eder.

Temel If

eğer x > 0 {
    yazdır("Pozitif sayı")
}

İngilizce syntax:

if x > 0 {
    print("Positive number")
}

If-Else

eğer yaş >= 18 {
    yazdır("Yetişkin")
} değilse {
    yazdır("Çocuk")
}

Else If

eğer not >= 90 {
    yazdır("Pekiyi")
} değilse eğer not >= 80 {
    yazdır("İyi")
} değilse eğer not >= 70 {
    yazdır("Orta")
} değilse {
    yazdır("Zayıf")
}

İç İçe If

eğer kullanıcı != null {
    eğer kullanıcı.aktif {
        eğer kullanıcı.doğrulanmış {
            yazdır("Giriş başarılı")
        }
    }
}

Ternary Operatörü

değişken durum = yaş >= 18 ? "Yetişkin" : "Çocuk"

If Expression

BERK'te if bir ifade olarak kullanılabilir:

değişken maksimum = eğer a > b { a } değilse { b }

değişken mesaj = eğer hata {
    "Hata oluştu"
} değilse {
    "Başarılı"
}

Guard Clauses

Erken dönüş deseni:

işlev işle(değer: Sayı?) -> Sonuç<Sayı, Yazı> {
    eğer değer == null {
        hata dön "Değer null olamaz"
    }
    
    eğer değer < 0 {
        hata dön "Değer negatif olamaz"
    }
    
    tamam dön değer * 2
}

Mantıksal Operatörlerle

eğer yaş >= 18 && ehliyet_var {
    yazdır("Araç kullanabilir")
}

eğer admin || moderator {
    yazdır("Yetki var")
}

eğer !boş_mu {
    yazdır("Veri var")
}

Short-Circuit Evaluation

// İkinci ifade değerlendirilmez
eğer kullanıcı == null || kullanıcı.sil() {
    // kullanıcı null ise sil() çağrılmaz
}

Best Practices

✅ Yapılması Gerekenler

// Anlamlı değişkenler
eğer kullanıcı_doğrulandı && oturum_geçerli {
    izin_ver()
}

// Guard clauses kullanın
eğer !geçerli_mi {
    geri dön
}

// Pozitif koşullar tercih edin
eğer aktif {
    işle()
}

❌ Kaçınılması Gerekenler

// Çok uzun if-else zincirleri
eğer x == 1 {
    ...
} değilse eğer x == 2 {
    ...
} // 20 tane else if
// Bunun yerine match kullanın!

// Gereksiz iç içe if
eğer a {
    eğer b {
        eğer c {
            // 5 seviye
        }
    }
}
// && operatörü kullanın