Di GO, pernyataan break
dan continue
digunakan untuk mengawal aliran gelung seperti for
, range
, dan switch
. Inilah cara mereka bekerja:
Pernyataan rehat:
Kenyataan break
digunakan untuk menamatkan pelaksanaan gelung lebih awal. Apabila break
ditemui di dalam gelung, gelung segera keluar, dan kawalan program disambung semula pada pernyataan seterusnya berikutan gelung.
<code class="go">for i := 0; i </code>
Dalam contoh ini, gelung akan mencetak nombor 0 hingga 4 dan kemudian keluar apabila i
mencapai 5.
Teruskan pernyataan:
Kenyataan continue
digunakan untuk melangkau seluruh lelaran semasa gelung dan teruskan ke lelaran seterusnya. Apabila continue
ditemui di dalam gelung, lelaran semasa ditinggalkan, dan gelung diteruskan dengan lelaran seterusnya.
<code class="go">for i := 0; i </code>
Dalam contoh ini, gelung akan mencetak nombor 0 hingga 4 dan 6 hingga 9, melangkau nombor 5.
Kedua -dua break
dan continue
boleh digunakan dalam gelung bersarang. Walau bagaimanapun, mereka hanya menjejaskan gelung paling dalam mereka adalah sebahagian daripada jika digunakan dengan label untuk mengawal gelung luar.
Kenyataan break
biasanya digunakan dalam pengaturcaraan GO dalam senario berikut:
Keluar Gelung Infinite: Apabila anda ingin membuat gelung tak terhingga yang boleh dihentikan di bawah keadaan tertentu, break
boleh digunakan untuk keluar dari gelung.
<code class="go">for { input := getInput() if input == "exit" { break } processInput(input) }</code>
Mencari dalam koleksi: Apabila melelehkan koleksi (seperti array atau kepingan) dan anda perlu mencari elemen tertentu, anda boleh menggunakan break
untuk berhenti mencari sebaik sahaja elemen dijumpai.
<code class="go">numbers := []int{1, 2, 3, 4, 5} target := 3 for _, num := range numbers { if num == target { fmt.Println("Found:", target) break } }</code>
Pencocokan kes dalam penyataan suis: Pernyataan break
di GO secara tersirat ditambah pada akhir setiap kes dalam pernyataan switch
, tetapi ia boleh digunakan secara eksplisit dalam pernyataan switch
untuk keluar dari seluruh struktur switch
lebih awal.
<code class="go">switch num := 3; num { case 1: fmt.Println("One") case 2: fmt.Println("Two") case 3: fmt.Println("Three") break // Not needed explicitly here but can be used in some scenarios default: fmt.Println("Other") }</code>
Memecahkan gelung bersarang: Dengan penggunaan label, break
boleh digunakan untuk keluar dari gelung bersarang.
<code class="go">OuterLoop: for i := 0; i </code>
Kenyataan continue
di GO secara langsung mempengaruhi pelaksanaan gelung dengan cara berikut:
Melangkau lelaran semasa: Apabila continue
ditemui di dalam badan gelung, ia segera melompat ke lelaran seterusnya gelung. Sebarang kenyataan selepas continue
dalam lelaran yang sama dilangkau.
<code class="go">for i := 0; i </code>
Dalam contoh ini, output akan menjadi 0
, 1
, 3
, 4
. Nombor 2
dilangkau kerana pernyataan continue
menyebabkan lelaran semasa ditinggalkan ketika i
adalah 2
.
Dalam gelung bersarang: Kenyataan continue
hanya mempengaruhi gelung paling dalam di mana ia muncul. Ia tidak menjejaskan gelung luar.
<code class="go">for i := 0; i </code>
Dalam contoh ini, apabila j
sama dengan 1
, lelaran semasa gelung dalaman dilangkau, bergerak ke nilai j
seterusnya. Gelung luar terus seperti biasa.
Kecekapan dalam pemprosesan gelung: continue
boleh berguna untuk melangkau pemprosesan atau pengendalian yang tidak perlu dalam gelung, dengan itu meningkatkan kecekapan gelung.
<code class="go">numbers := []int{1, -2, 3, -4, 5} for _, num := range numbers { if num </code>
Dalam kes ini, nombor negatif dilangkau, dan hanya nombor positif yang dicetak, menghasilkan pemprosesan gelung yang lebih cekap.
Perbezaan utama antara pernyataan break
dan continue
dalam gelung Go adalah:
Kesan pada pelaksanaan gelung:
break
menamatkan seluruh gelung dengan segera, keluar dari gelung dan bergerak ke pernyataan seterusnya berikutan gelung.continue
melangkau seluruh lelaran semasa dan bergerak ke lelaran seterusnya gelung.Gunakan Kes:
break
biasanya digunakan apabila anda perlu keluar sepenuhnya gelung apabila memenuhi keadaan tertentu (contohnya, mencari elemen, mencapai had).continue
digunakan apabila anda ingin melangkau lelaran semasa tetapi teruskan dengan gelung (contohnya, melangkau nilai -nilai tertentu, mengelakkan pemprosesan yang tidak perlu).Kesan pada gelung bersarang:
break
dan continue
hanya menjejaskan gelung paling dalam, mereka adalah sebahagian daripada.break
boleh keluar dari mana -mana gelung luar, sementara continue
boleh melangkau ke lelaran seterusnya mana -mana gelung luar.Aliran Kawalan:
break
mengubah aliran kawalan dengan menamatkan gelung, sering digunakan untuk penamatan awal.continue
mengekalkan aliran gelung tetapi mengubah lelaran semasa, berguna untuk penapisan atau pemprosesan selektif.Berikut adalah ringkasan dalam format jadual:
Aspek | break
|
continue
|
---|---|---|
Kesan pelaksanaan gelung | Menamatkan gelung dengan segera | Melangkau seluruh lelaran semasa |
Kes penggunaan biasa | Keluar dari gelung atas keadaan | Melangkau lelaran di bawah keadaan tertentu |
Kesan pada gelung bersarang | Hanya mempengaruhi gelung paling dalam (kecuali dilabel) | Hanya mempengaruhi gelung paling dalam (kecuali dilabel) |
Perubahan aliran kawalan | Keluar gelung | Bergerak ke lelaran seterusnya |
Memahami perbezaan ini membantu dalam memilih pernyataan yang tepat untuk mengawal tingkah laku gelung dengan berkesan dalam GO.
Atas ialah kandungan terperinci Bagaimana anda menggunakan pernyataan rehat dan teruskan di GO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!