Channel

Um channel fornece um mecanismo para funções de execução simultânea para se comunicar, enviando e recebendo valores de um tipo de elemento especificado. O valor de um channel não inicializado é nil.

O operador opcional <- especifica a direção do channel, envio ou recebimento. Se nenhuma direção for fornecida, o channel é bidirecional.


chan T          // pode ser usado para enviar/receber valores do tipo T
chan<- float64  // só pode ser usado para enviar float64
<-chan int      // só pode ser usado para receber int
                        

Um novo valor de channel inicializado pode ser criado usando a função integrada make(), que leva o tipo de channel e uma capacidade opcional como argumentos:


make(chan int, 100)
                        
channel_type.go