golang-break(select、switch)

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循环,为了跳出最外层循环可以使用如下方法:

func f1(){
	WWW:
	for {
		select {
		case <-in:
			fmt.Println("aa")
			break WWW
		}
	}
}

 

 


版权声明:本文为qq_34673519原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。