回答:
「break」ステートメントは、最も内側の「for」、「switch」、または「select」ステートメントの実行を終了します。
BreakStmt = "break" [ Label ] .
ラベルがある場合は、それを囲む「for」、「switch」、または「select」ステートメントのラベルである必要があり、それは実行が終了するものです(§Forステートメント、§Switchステートメント、§Selectステートメント)。
L: for i < n { switch i { case 5: break L } }
したがって、break
例のswitch
ステートメントは、ステートメント、「最も内側の」ステートメントを終了します。
はい、break
内側を壊し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.
これはそれを説明するはずです。
for{
x := 1
switch {
case x >0:
fmt.Println("sjus")
case x == 1:
fmt.Println("GFVjk")
default:
fmt.Println("daslkjh")
}
}
}
永遠に走る
for{
x := 1
switch {
case x >0:
fmt.Println("sjus")
break
case x == 1:
fmt.Println("GFVjk")
default:
fmt.Println("daslkjh")
}
}
}
繰り返しますが、永久に実行されます
だが
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を印刷します...クリア?
break
withinの使用例は何ですか?select {}
case