goroutine和chan配合是golang的核心技术, 必须深入研究一下使用方法.
无缓冲chan
进和出都会阻塞.
例1:
func main() {
ch := make(chan error)
fmt.Println("main1")
go func() {
fmt.Println("go1")
ch <- nil //阻塞
fmt.Println("go2") //永远不会执行
}()
fmt.Println("main2")
time.Sleep(1 * time.Second)
fmt.Println("main等待1秒")
fmt.