Junior — Middle
O que acontece num programa se tentar ler de um canal fechado em Go?
sobes.tech IA
Resposta da IA
Se tentar ler de um canal fechado em Go, a operação de leitura retornará um valor zero do tipo do canal e false no segundo valor retornado, se usar a sintaxe com dois valores de retorno:
v, ok := <-ch
Aqui, ok será false, o que significa que o canal está fechado e não chegarão mais dados.
Se ler de um canal fechado sem verificar ok, obterá um valor zero do tipo do canal (por exemplo, 0 para int).
Importante: ler de um canal fechado não bloqueia e não causa pânico, retornando imediatamente um valor zero e false.