欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

golang select使用注意

程序员文章站 2022-03-04 18:53:28
...

golang中的select语法用来和channal配合使用:

select {
		case i := <-ch:
			fmt.Println(i)
		case <-ui:
			fmt.Println(1)
		case <-back:
			fmt.Print(2)
	}

初次使用有点想当然的这样使用:

func circle(ch chan int) {
	for {
		select {
		case i := <-ch:
			fmt.Println(i)
			ch <- 100
		}
	}
}

但是这样会导致ch<-100阻塞, 相当于水管还没有接好出口,所以不能这样使用,必须把ch<-100放在case外面

相关标签: golang