声明 本系列文章并不会停留在Go语言的语法层面,更关注语言特性、学习和使用中出现的问题以及引起的一些思考。 引入 有了上一篇文章的基础,这一节我们来看通道的底层实现,我们先看一个例子,相信你已经很熟悉了: func main() { ch := make(chan int) go func() { ch <- 1 }() time.Sleep(5 * time.Second) fmt.Println(len(ch