• qcount uint 当前队列中剩余元素个数
    • dataqsiz uint 环形队列长度,即缓冲区的大小,即make(chan T,N)中的N.
    • buf unsafe.Pointer 环形队列指针
    • elemsize uint16 每个元素的大小
    • closed uint32 表示当前通道是否处于关闭状态。创建通道后,该字段设置为0,即通道打开; 通过调用close将其设置为1,通道关闭。
    • elemtype *_type 元素类型,用于数据传递过程中的赋值
    • sendx uintrecvx uint 是环形缓冲区的状态字段,它指示缓冲区的当前索引 - 支持数组,它可以从中发送数据和接收数据。
    • recvq waitq 等待读消息的goroutine队列
    • sendq waitq // 等待写消息的goroutine队列 lock mutex // 互斥锁,为每个读写操作锁定通道,因为发送和接收必须是互斥操作。