For Loop di Go
Go hanya punya satu jenis loop: for. Tidak ada while atau do-while — semua bisa dilakukan dengan for.
For Klasik
for i := 0; i < 5; i++ {
fmt.Println(i)
}
For sebagai While
n := 1
for n < 100 {
n *= 2
}
fmt.Println(n) // 128
Infinite Loop
for {
// loop selamanya
break // gunakan break untuk keluar
}
For Range
Digunakan untuk iterasi slice, array, map, dan string:
buah := []string{"apel", "jeruk", "mangga"}
for index, nilai := range buah {
fmt.Printf("%d: %s\n", index, nilai)
}
// Jika tidak butuh index:
for _, nilai := range buah {
fmt.Println(nilai)
}
Break dan Continue
for i := 0; i < 10; i++ {
if i == 3 {
continue // lewati iterasi ini
}
if i == 7 {
break // keluar dari loop
}
fmt.Println(i)
}