if, else if, else
- Go kursu
- Başlangıç
- Ders 35/90
- 4 dk
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ğildirUygulama 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
package main
import "fmt"
func main() {
// buraya yaz
}Örnek çözüm
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
if not >= 85 {
fmt.Println("pekiyi")
} ____ not >= 60 {
fmt.Println("geçti")
}
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 |