Direction

A sintaxe para enviar e receber dados de um canal é fornecida abaixo:


data := <- a // lê conteúdo do canal a  
a <- data // escreve no canal a  
                        

A direção da seta em relação ao canal especifica se os dados são enviados ou recebidos.

Envios e recebimentos em um canal são bloqueados por padrão. O que isto significa? Quando os dados são enviados para um canal, o controle é bloqueado na instrução de envio até que algum outro Goroutine leia daquele canal.

Da mesma forma, quando os dados são lidos de um canal, a leitura é bloqueada até que algum Goroutine grave dados nesse canal.

channel_direction.go
Channels