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