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)
}