我在https://blog.golang.org/pipelines的go博客中读到,您可以将一个通道发送给函数,该函数的签名需要一个<-chan
(该通道的只读版本)作为参数。我什至已经成功地将<-chan
用作此处https://play.golang.org/p/5M2xV9Ps44o。但是当我在这里尝试使用它时,VS Code给我这个错误:
cannot use writeChanMap (type map[int]chan fragment) as type map[int]<-chan fragment in argument to handleTx
这是我的代码的简化版本:
// NOTE: fragment is a struct I have defined in the global scope
func handleTx(writerMap map[int]*hdlc.Writer, wChanMap map[int]<-chan fragment) {
// do stuff
}
func main() {
go handleTx(writerMap, writeChanMap)
// do other stuff
}