Channels

Os canais podem ser considerados tubos através dos quais os Goroutines se comunicam.

Semelhante a como a água flui de uma extremidade a outra em um tubo, os dados podem ser enviados de uma extremidade e recebidos da outra extremidade usando canais.

Cada canal possui um tipo associado a ele. Este tipo é o tipo de dados que o canal tem permissão para transportar. Nenhum outro tipo pode ser transportado usando o canal.

O valor zero de um canal é nil. Canais nulos não têm nenhuma utilidade e, portanto, o canal deve ser definido usando make, similar a maps e slice.


channel := make(chan int) // transporta dados do tipo int
                        
channels.go