在Go语言中是否可以通过通道传递指针?我需要传递结构体,并对其进行更改,以便在传递结构体的同一函数中具有这些更改。
我已经尝试过
chan <- &data
然后我得到了
# command-line-arguments .\o.go:130: cannot use &duom[i] (type *KaVartoti) as type KaVartoti in send
此后我尝试了
chan <- *data
然后我得到了
# command-line-arguments .\o.go:130: invalid indirect of duom[i] (type KaVartoti)
那么,在Go中是否可以通过通道发送指针?
goroutine
时,在同一方法中发送和接收相同通道会使该通道成为单向输入/输出通道。换句话说,不要尝试通过迭代和向通道发送多个值来并发执行此操作:您将无法按相同顺序获取这些值。但是,如果这是您的用例,则通过每次接收进行阻塞,就像主代码中所做的那样,是可以的。 - eduncan911