新人小白求教。目前正在学习 go
中,在 channel
章节遇到一个问题:
- 申明一个单向读
channel
使用var ch <-chan int
没有问题 通过类型转换定义时:
ch := make(chan int)
read := <-chan int(ch)
这样定义出来的
read
是int
类型,使用<-read
类似这样的操作就会报错invalid operation: <-onlyRead (receive from non-chan type int)
。
但是 《go语言编程》一书就是这么定义的,不知道问题出在哪里,求指教,感激不尽!!
有疑问加站长微信联系(非本文作者))
完整例子,定位问题呗
@txg5214 timeout := make(chan bool, 1) go func() { time.Sleep(1e9) timeout <- true }()
这个我还真不知道为啥