什么`(<-chan Delivery)(交付)`做什么?

Sła*_*osz 7 go

我找到了这一行:

return (<-chan Delivery)(deliveries), nil
Run Code Online (Sandbox Code Playgroud)

https://github.com/streadway/amqp/blob/master/channel.go#L1089

它有什么作用?为什么双括号?

Ain*_*r-G 8

这是一种类型转换.在您的情况下,它将chan Delivery(Delivery值的双向通道)转换为<-chan Delivery(仅接收通道Delivery值).