下面我们来还原一下错误
func main() { ch:=make(chan int,2) ch<-1 ch<-2 ch<-3 }
错误抛出来了,下面我修改一下代码即可解决问题。
ch:=make(chan int,2) go func() { ch<-1 ch<-2 ch<-3 }()
因为:chan无缓存时,如果send值则阻塞,chan如果设定缓存大小,则send超过时则阻塞。
阻塞如果放到主进程时则提示deallock死锁,所以需要放到协程处理才行。