Junior — Middle
Como funciona a gravação num canal que ainda não foi inicializado?
sobes.tech IA
Resposta da IA
No Go, o canal deve ser inicializado usando a função make antes de ser utilizado. Se tentar escrever num canal que não foi inicializado (ou seja, igual a nil), a operação de escrita ficará bloqueada para sempre, pois o canal não existe e não pode aceitar valores. Isto levará a um deadlock se não houver outras goroutines que desbloqueiem a escrita.
Exemplo:
var ch chan int // ch == nil
func main() {
ch <- 1 // bloqueio, pois ch == nil
}
Assim, escrever num canal não inicializado não funciona e leva ao bloqueio do programa.