Junior — Middle
Qual é o número máximo de elementos que podem ser colocados em um canal?
sobes.tech IA
Resposta da IA
No Go, o número máximo de elementos num canal depende do seu buffer. Um canal pode ser com buffer ou sem buffer.
- Se o canal não tiver buffer (criado com
make(chan Type)), pode conter 0 elementos — o envio bloqueia até receber. - Se o canal tiver buffer (criado com
make(chan Type, N)), o número máximo de elementos é igual ao tamanho do bufferN.
Teoricamente, o tamanho do buffer é limitado pela memória disponível e pelo tipo int (em sistemas de 64 bits, é um número muito grande). No entanto, na prática, um buffer demasiado grande não é eficiente e pode levar ao consumo excessivo de memória.
Exemplo de criação de um canal com buffer de 100 elementos:
ch := make(chan int, 100)