Döngüler: Go’nun Tek Döngüsü for ile Her Şeyi Yapmak

irfo

Moderatör
Katılım
7 Ocak 2026
Mesajlar
71
Tepkime puanı
2
Puanları
8

Az Ama Öz​

C, Java veya C# dillerinde for, while, do-while, foreach gibi çeşit çeşit döngüler vardır.Go'nun felsefesi "Basitlik" olduğu için bu karmaşayı çöpe atmışlardır. Go'da sadece tek bir döngü komutu vardır: for.Ama bu tek komut, diğerlerinin yaptığı her işi yapabilir.

1. Klasik Döngü (C Tarzı)​

En yaygın kullanımdır. Başlangıç, şart ve artış belirtilir.

Kod:
for i := 0; i < 5; i++ {
    fmt.Println(i)
}

2. "While" Tarzı Döngü​

Go'da while anahtar kelimesi yoktur. Eğer for'un sağına sadece şart yazarsanız, o bir while döngüsüne dönüşür.

Kod:
sum := 1
for sum < 100 { // sum 100'den küçük olduğu sürece (while)
    sum += sum
}

3. Sonsuz Döngü (Infinite Loop)​

Eğer for'un yanına hiçbir şey yazmazsanız, sonsuza kadar döner. (Sunucularda "dinleme" modunda sıkça kullanılır).

Kod:
for {
    fmt.Println("Durana kadar dönüyorum...")
    // Çıkmak için "break" kullanılır
}

4. for-range (Foreach Tarzı)​

Slice'lar (Listeler) veya Map'ler üzerinde gezmek için en güçlü yöntemdir. Hem index hem de değer döndürür.

Kod:
isimler := []string{"Ali", "Veli", "Ayşe"}

for index, isim := range isimler {
    fmt.Printf("%d. Kişi: %s\n", index, isim)
}
İpucu: Eğer index'e ihtiyacınız yoksa, Go hata verir ("tanımladın ama kullanmadın"). Bunu aşmak için alt çizgi _ (Blank Identifier) kullanılır:for _, isim := range isimler { ... }

Sonuç​

Go, while veya do kelimelerini dilden atarak sözdizimini sadeleştirmiştir. for her şeye yeter!
 
Geri
Üst