break能够跳出的不仅仅是for等循环,还包括select、和switch
package main import ( "fmt" ) func main() { a:=10 for{ switch { case a==10: fmt.Println(a) break } } fmt.Println(a) } | package main import "fmt" func main(){ var in4=make(chan int,1) close(in4) for { select { case <-in4: fmt.Println("aa") break } } } |
执行结果:![]() | 执行结果:![]() |
因此,俩个案例的break都没有跳出for循环,为了跳出最外层循环可以使用如下方法:
|