Perulangan: for & range

Satu-satunya perulangan Go: for dalam berbagai bentuk.

Part 8 dari 23 ± 30 menit Gratis

Hanya ada satu: for

Go tidak punya while maupun do-while. Semua perulangan memakai for.

Bentuk 1: klasik

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

Tiga bagian: awal; syarat (diulang selama true); langkah setelah tiap putaran.

Bentuk 2: seperti while

n := 3
for n > 0 {
    fmt.Println(n)
    n--
}

Bentuk 3: tanpa akhir

for {
    // berjalan selamanya sampai ada break atau return
}

break dan continue

  • break — keluar dari perulangan.
  • continue — lompat ke putaran berikutnya.
for i := 1; i <= 5; i++ {
    if i == 3 {
        continue
    }
    fmt.Println(i)   // 1 2 4 5
}

range: menelusuri koleksi

range memberi index dan value pada slice, array, string, dan map.

buahs := []string{"apel", "jeruk", "mangga"}
for idx, buah := range buahs {
    fmt.Println(idx, buah)
}

Gunakan _ untuk mengabaikan salah satunya:

for _, buah := range buahs { ... }   // tanpa index
for idx := range buahs { ... }       // tanpa value

Pada string, range menelusuri rune (karakter), bukan byte.

Perulangan bersarang dan label

luar:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if j == 2 { continue luar }
    }
}

Jebakan: infinite loop

Pastikan syarat suatu saat menjadi false. Di Playground, program yang berjalan terlalu lama akan dihentikan.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X