golang select详解

核心数据结构如下,除了default,其它的select{case:}都与chan有关,scase.c则存储的是一个channel,在1.channel详解我们详细了解过chan。下面我们来
看看select的几种情况

// go/src/runtime/select.go
type scase struct {
	c    *hchan         // chan
	elem unsafe.Pointer // data element
}