Sobes.tech
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 buffer N.

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)