Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Loop di Go: Panduan Praktis dan Contoh

1 min read .
Loop di Go: Panduan Praktis dan Contoh

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 loop
  • continue → 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.

Lihat Juga

chevron-up