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