Go Academy · Pelajaran

break, continue, dan Label

Alur kontrol perulangan dan break berlabel

Pelajaran 4 dari 412 langkah

break, continue, dan Label adalah pelajaran Go Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Go Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Go Academy mencakup 4 pelajaran total.

Dasar-Dasar Kontrol Perulangan

Go menyediakan tiga kata kunci untuk mengontrol eksekusi perulangan:

  • break — keluar dari perulangan atau switch saat ini
  • continue — melompat ke iterasi berikutnya
  • goto — melompat ke pernyataan berlabel (jarang digunakan)

Label memperluas fungsi break dan continue sehingga dapat digunakan pada perulangan luar.

break dalam Perulangan

break segera keluar dari pernyataan for, switch, atau select yang paling dalam:

for i := 0; i < 100; i++ {
    if i*i > 50 {
        break
    }
    fmt.Println(i)
}

continue

continue melewati sisa isi perulangan saat ini dan melompat ke pernyataan pascaproses (atau pemeriksaan kondisi):

for i := 0; i < 10; i++ {
    if i%2 == 0 {
        continue // skip even numbers
    }
    fmt.Println(i) // prints 1,3,5,7,9
}

break Berlabel

Label sebelum perulangan for memungkinkan Anda keluar dari perulangan tersebut dari dalam perulangan lain:

search:
for i, row := range grid {
    for j, cell := range row {
        if cell == target {
            fmt.Printf("found at %d,%d\n", i, j)
            break search
        }
    }
}

continue Berlabel

continue berlabel melompat ke iterasi berikutnya dari perulangan luar yang diberi label:

outer:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if j == 1 {
            continue outer
        }
        fmt.Printf("%d,%d\n", i, j)
    }
}

Kapan Menggunakan Label

Label sesuai digunakan ketika:

  • Anda perlu keluar dari perulangan bersarang dari bagian yang sangat dalam
  • Memisahkan kode menjadi fungsi akan terlalu bertele-tele

Label jarang digunakan di Go — jika Anda sering membutuhkannya, pertimbangkan untuk merancang ulang kode menggunakan fungsi atau kanal.

goto (Jarang)

Go memiliki goto untuk melompat ke pernyataan berlabel. goto diizinkan dalam fungsi yang sama dan tidak dapat melompati deklarasi variabel:

  • Kasus penggunaan: kode yang dihasilkan, perulangan penanganan error yang sangat ketat
  • Hindari dalam kode yang ditulis secara manual — utamakan alur kontrol terstruktur

break dalam select

Di dalam pernyataan select, break keluar dari select — bukan dari perulangan for luar. Gunakan break berlabel untuk keluar dari perulangan luar:

loop:
for {
    select {
    case msg := <-ch:
        handle(msg)
    case <-done:
        break loop
    }
}

Menghindari Penyarangan yang Dalam

Perulangan yang tersarang terlalu dalam sulit dibaca. Sebelum menambahkan break berlabel, tanyakan:

  • Dapatkah saya memisahkan perulangan dalam menjadi fungsi pembantu?
  • Dapatkah saya menggunakan kanal atau irisan untuk menyederhanakan iterasi?
  • Dapatkah pengembalian dini mengurangi penyarangan pada tingkat luar?

Pola Praktis: Pencarian dengan break

Pola umum: cari sebuah koleksi dan lakukan break ketika elemen ditemukan:

func contains(slice []string, target string) bool {
    for _, v := range slice {
        if v == target {
            return true // prefer return over break+flag
        }
    }
    return false
}

Pemeriksaan Singkat

Bagaimana cara keluar dari perulangan luar dari dalam perulangan dalam di Go?

Ringkasan: break, continue, dan Label

Kontrol alur perulangan secara efektif di Go:

  • break keluar dari perulangan atau switch saat ini
  • continue melompat ke iterasi berikutnya
  • Label memungkinkan break/continue menargetkan perulangan luar
  • goto tersedia, tetapi jarang digunakan dalam Go yang idiomatis
  • Di dalam select, gunakan break berlabel untuk keluar dari perulangan for luar

Kursus berikutnya: Fungsi dan Beberapa Nilai Pengembalian.

Gratis untuk memulai

Belajar Go dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
51
Pelajaran
203

Pertanyaan yang Sering Diajukan

Apakah pelajaran “break, continue, dan Label” gratis?

Ya — teks lengkap “break, continue, dan Label” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Go Academy, upgrade ke CoddyKit PRO. Kursus Go Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “break, continue, dan Label”?

Alur kontrol perulangan dan break berlabel Kamu berlatih Go Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Go Academy?

Tidak diperlukan pengalaman sebelumnya. Go Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “break, continue, dan Label” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Go Academy ini?

Ya. Setiap pelajaran Go Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pernyataan if dan Ekspresi Init
  2. Perulangan for: Semua Pola
  3. Pernyataan switch di Go
  4. break, continue, dan Label
← Kembali ke Go Academy