Junior — Middle
Consegues enumerar as principais propriedades e parâmetros dos canais de comunicação?
sobes.tech IA
Resposta da IA
Em Go, os canais são um meio de transmitir dados entre goroutines, garantindo sincronização e comunicação. As principais propriedades e parâmetros dos canais:
- Tipo de dado: o canal transmite valores de um tipo específico, por exemplo,
chan intpara inteiros. - Bufferização: os canais podem ser com ou sem buffer. Um canal sem buffer bloqueia o remetente até que o receptor leia o valor. Um canal com buffer tem capacidade, permitindo enviar vários valores sem bloqueio.
- Direcionalidade: um canal pode ser bidirecional (
chan T), ou unidirecional — apenas para enviar (chan<- T) ou apenas para receber (<-chan T).
Exemplo de criação de um canal com buffer:
ch := make(chan int, 5) // canal com buffer de 5 elementos