Yanıtlar:
Break deyimleri, Go Programlama Dili Özelliği.
"Break" ifadesi, "," switch "veya" select "ifadesi için en içteki" yürütmeyi sonlandırır. "
BreakStmt = "break" [ Label ] .
Bir etiket varsa, "", "anahtar" veya "select" ifadesi için kapalı bir etiket olmalıdır ve yürütmesi sona eren ifadedir (§Bildirimler, §Switch ifadeleri, §Seçme ifadeleri).
L: for i < n { switch i { case 5: break L } }
Bu nedenle, break
örneğinizdeki switch
ifade, "en içteki" ifade olan ifadeyi sonlandırır .
Evet, break
iç kısmı kırıyor switch
.
https://play.golang.org/p/SZdDuVjic4
package main
import "fmt"
func main() {
myloop:for x := 0; x < 7; x++ {
fmt.Printf("%d", x)
switch {
case x == 1:
fmt.Println("start")
case x == 5:
fmt.Println("stop")
break myloop
case x > 2:
fmt.Println("crunching..")
break
default:
fmt.Println("idling..")
}
}
}
0idling.. 1start 2idling.. 3crunching.. 4crunching.. 5stop Program exited.
Sadece bir anahtar bloğundan. Golang kendi kodunda inceleyebileceğiniz çok sayıda örnek var ( iç mola ile dış mola karşılaştırması ).
bu açıklamalı.
for{
x := 1
switch {
case x >0:
fmt.Println("sjus")
case x == 1:
fmt.Println("GFVjk")
default:
fmt.Println("daslkjh")
}
}
}
Sonsuza kadar çalışır
for{
x := 1
switch {
case x >0:
fmt.Println("sjus")
break
case x == 1:
fmt.Println("GFVjk")
default:
fmt.Println("daslkjh")
}
}
}
Yine, sonsuza kadar koşar
FAKAT
package main
import "fmt"
func main() {
d:
for{
x := 1
switch {
case x >0:
fmt.Println("sjus")
break d
case x == 1:
fmt.Println("GFVjk")
default:
fmt.Println("daslkjh")
}
}
}
sjus yazdıracak ... temiz mi?
break
dahilindeselect {}
tek bericase
seçilebilir?