break ve continue
- Go kursu
- Başlangıç
- Ders 39/90
- 4 dk
Döngüden çıkmak ve atlamak için break ve continue öğrenirsin.
break ve continue
break döngüyü tamamen bitirir; continue yalnızca o turun geri kalanını atlayıp sonraki tura geçer:
for i := 1; i <= 10; i++ {
if i%2 == 0 {
continue // çiftleri atla
}
if i > 7 {
break // 7'den sonra dur
}
fmt.Print(i, " ")
}
// 1 3 5 7Etiketli break
Dış döngüye bir etiket verip break Etiket yazarak iç içe döngülerden tek seferde çıkılır:
Ara:
for _, satir := range tablo {
for _, v := range satir {
if v == hedef {
fmt.Println("bulundu")
break Ara
}
}
}continue Etiket da aynı şekilde dış döngünün sonraki turuna geçer. Switch içindeki break yalnızca switch'i bitirir; döngüden çıkmak için etiket gerekir.
Uygulama Pozitif toplam
[]int{4, -2, 7, 0, -5, 10, 99} dilimini gez: negatifleri continue ile atla, 99 görünce break ile dur, diğerlerini topla. Toplamı yazdır.
Başlangıç kodu
package main
import "fmt"
func main() {
// buraya yaz
}Örnek çözüm
package main
import "fmt"
func main() {
toplam := 0
for _, n := range []int{4, -2, 7, 0, -5, 10, 99} {
if n < 0 {
continue
}
if n == 99 {
break
}
toplam += n
}
fmt.Println(toplam)
}Beklenen çıktı
21
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İç içe iki döngüde iç döngüdeki <code>break</code> neyi bitirir?
- Programı
- Yalnızca iç döngüyü Doğru cevap
- İki döngüyü de
- Fonksiyonu
Açıklama: break en yakın döngüyü (ya da switch'i) bitirir; dıştakini bitirmek için etiket kullanılır.
2 Turu atla
for _, n := range sayilar {
if n < 0 {
____
}
toplam += n
}
for _, n := range sayilar {
if n < 0 {
continue
}
toplam += n
}
Açıklama: continue negatif sayıyı atlayıp sonraki elemana geçer.
3 Komut ve etkisi
| Kavram | Anlamı |
|---|---|
break |
Döngüyü bitirir |
continue |
Sonraki tura geçer |
break Etiket |
Dış döngüden çıkar |
return |
Fonksiyondan çıkar |