`(<-chan Delivery)(deliveries)` 是做什么的?

What does `(<-chan Delivery)(deliveries)` do?

我找到了这一行:

return (<-chan Delivery)(deliveries), nil

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

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

这是一个type conversion。在您的情况下,它将 chan DeliveryDelivery 值的双向通道)转换为 <-chan DeliveryDelivery 值的仅接收通道)。

这是一个type conversion。 Returns deliveries 作为只读频道。

它是从双向通道到仅发送通道的类型转换,如果您提供它可以省略。转换将隐式完成。