Senior
O que acontece ao gravar num canal não inicializado (nil)?
sobes.tech IA
Resposta da IA
No Go, escrever em um canal não inicializado (nil) leva ao bloqueio da goroutine indefinidamente, pois um canal nil não está pronto para receber ou enviar dados.
Exemplo:
var ch chan int // ch == nil
func main() {
ch <- 1 // bloqueia indefinidamente, pois o canal é nil
}
Esse comportamento é às vezes usado para ativar/desativar canais dinamicamente em select, pois operações com canal nil nunca são executadas e bloqueiam a goroutine.