Loop di Go: Panduan Praktis dan Contoh
1
min read .
Updated on
Awalnya Go cuma punya satu tipe loop (for
) bikin bingung. Tapi gini deh, kalau dipahami, fleksibilitasnya bikin saya bisa handle hampir semua kebutuhan perulangan.
1. For Dasar
for i := 0; i < 5; i++ {
fmt.Println(i)
}
Mirip loop di C/Java/JS: mulai dari i=0
, lanjut selama kondisi benar, naik tiap iterasi.
2. For seperti While
Hilangkan inisialisasi & post statement:
i := 0
for i < 5 {
fmt.Println(i)
i++
}
3. Loop Tak Terbatas
i := 0
for {
fmt.Println(i)
i++
if i >= 5 {
break
}
}
4. Iterasi Koleksi dengan range
Array/Slice:
numbers := []int{1,2,3}
for idx, val := range numbers {
fmt.Printf("%d: %d\n", idx, val)
}
Map:
people := map[string]int{"Alice":30,"Bob":25}
for k,v := range people {
fmt.Printf("%s: %d\n", k, v)
}
String:
msg := "Hi"
for i, ch := range msg {
fmt.Printf("%d: %c\n", i, ch)
}
5. Loop Bersarang
for i := 1; i <= 3; i++ {
for j := 1; j <= 3; j++ {
fmt.Printf("i=%d, j=%d\n", i,j)
}
}
6. Kontrol Loop
break
→ keluar loopcontinue
→ lompat iterasi berikutnya
for i := 0; i < 10; i++ {
if i%2==0 { continue }
if i>7 { break }
fmt.Println(i)
}
Refleksi Singkat
Pada akhirnya, walaupun Go cuma punya satu jenis loop, kekuatannya fleksibel banget. Dari array, slice, map, sampai string, semua bisa ditangani dengan elegan.