总结一下:
- 首先 渠道是引用传递的, 这个函数里关于参数渠道的修改, 都直接回修改原来的值
- 双向渠道 是可以赋值给单向渠道的, 自动转换的, 举个例子
a := make(chan int, 3)
a <- 1 // 塞了一个数据
//往渠道里塞2,3 两个数字
func test2(b chan<- int) {
b <- 2
b <- 3
close(b)
}
fmt.Println(a)
得到的结果是1,2,3
总结一下:
a := make(chan int, 3)
a <- 1 // 塞了一个数据
//往渠道里塞2,3 两个数字
func test2(b chan<- int) {
b <- 2
b <- 3
close(b)
}
fmt.Println(a)
得到的结果是1,2,3