Sobes.tech
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 int para 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