irfo
Moderatör
- Katılım
- 7 Ocak 2026
- Mesajlar
- 71
- Tepkime puanı
- 2
- Puanları
- 8
Parantezlere Veda
Go'nun sözdizimi C ailesinden gelse de, gereksiz karakterlerden arındırılmıştır. Kontrol yapılarında en büyük fark: Şartların etrafında parantez ( ) kullanılmaz!1. if else yapısı
Basit, temiz ve parantezsiz. Ancak süslü parantezler { } zorunludur (tek satır olsa bile).
Kod:
age := 18
if age >= 18 { // Parantez yok!
fmt.Println("Ehliyet alabilirsin.")
} else {
fmt.Println("Büyü de gel.")
}
Go'ya Özel: "If with Short Statement"Go'da if satırının içinde, şarttan önce değişken tanımlayabilirsiniz. Bu değişkenin ömrü sadece o if bloğu kadardır.
Kod:
// "limit" değişkeni sadece bu blokta yaşar
if limit := 50; age > limit {
fmt.Println("Yaşlısın")
}
Bu özellik, özellikle Hata Yönetiminde (if err := ...; err != nil) çok sık kullanılır.
2. switch-case yapısı
Diğer dillerin aksine, Go'da her case'in sonuna break yazmanıza gerek yoktur. Go, bir case eşleştiğinde orayı çalıştırır ve otomatik olarak çıkar.
Kod:
gun := "Pazar"
switch gun {
case "Cumartesi", "Pazar": // Virgülle çoklu seçim
fmt.Println("Hafta sonu!")
case "Pazartesi":
fmt.Println("İş başı...")
default:
fmt.Println("Hafta içi")
}
Kod:
saat := 14
switch { // Değişken yok
case saat < 12:
fmt.Println("Günaydın")
case saat < 18:
fmt.Println("İyi günler")
default:
fmt.Println("İyi akşamlar")
}