Golang 中的 channel 通道详解
channel的容量。对于内置的len函数,如果传入的是channel,那么将返回channel内部缓存队列中有效元素的个数。因为在并发程序中该信息会随着接收操作而失效,但是它对某些故障诊断和性能优化会有帮助。package main import "fmt" func main() { ch := make(chan int, 10) // 创建一个最大容量为10的channel ch <- 233 ch <- 2 ch <- 3 fmt.Println(cap(ch)) // 10 fmt.Println(len(ch)) // 3 fmt.Println(<-ch) // 233 fmt.Println(len(ch)) // 2 } 向缓存Channel的发送操作就是向内部缓存队列的尾部插入元素...阅读全文