golang channel chan类型传给chan类型
type client chan string
var a = make(chan string)
var b = make(chan client)
func main() {
go func() {
a <- "hello"
fmt.Println("接收a成功")
}()
go func() {
b <- a
fmt.Println("接收b成功")
}()
fmt.Println(a)
fmt.Println(<-b)
}
上述代码的输出是
0xc00003e060
0xc00003e060
接收b成功
疑问:代码b<-a没有将a的值传给b吗,只是将a的引用传给b?这是为什么呢?