Ho trovato questa linea:Cosa fa `(<-chan Delivery) (consegna)` fare?
return (<-chan Delivery)(deliveries), nil
https://github.com/streadway/amqp/blob/master/channel.go#L1089
Che cosa fa? Perché le doppie parentesi?
Ho trovato questa linea:Cosa fa `(<-chan Delivery) (consegna)` fare?
return (<-chan Delivery)(deliveries), nil
https://github.com/streadway/amqp/blob/master/channel.go#L1089
Che cosa fa? Perché le doppie parentesi?
È un type conversion. Nel tuo caso, converte chan Delivery
(canale a due vie dei valori Delivery
) a <-chan Delivery
(canale di sola ricezione dei valori Delivery
).
È un type conversion. Restituisce deliveries
come canale di sola lettura.
Il termine 'read-only' channel è un po 'fuorviante; è meglio compreso come "read-end" di un canale (che ha anche un "write-end"). –
È una conversione di tipo dal canale bidirezionale al canale di sola trasmissione e, nel caso in cui venga fornito, può essere omesso. La conversione sarebbe stata implicita.
Buona domanda e buona scoperta, non l'ho mai visto prima. –
td; Trovo '' (<-chan Delivery) (consegna) '' più confuso di '' <-chan Delivery (consegne) '' –