1.chan数据结构 一个channel只能传递一种类型的值,类型信息存储在hchan数据结构中。 elemtype代表类型,用于数据传递过程中的赋值; elemsize代表类型大小,用于在buf中定位元素位置。 一个channel同时仅允许被一个goroutine读写,为简单起见,本章后续部分说明读写过程时不再涉及加锁和解锁。 2.创建Chan 创建channel的过程实际上是初始化hchan结构。其中类型信息和缓冲区长度由make语句传入,buf的大小则与元素大小和缓冲区长度共同决定。 makeC…