Junior — Middle
O que acontece se realizar uma operação de escrita num canal vazio (nil) na linguagem Go?
sobes.tech IA
Resposta da IA
Se tentar gravar um valor num canal nil em Go, o programa ficará bloqueado para sempre (deadlock). Isto acontece porque o canal nil não está inicializado e não pode aceitar ou enviar valores.
Exemplo:
var ch chan int // ch == nil
func main() {
ch <- 1 // aqui o programa irá ficar bloqueado
}
Para evitar isso, o canal deve ser inicializado com make, por exemplo:
ch := make(chan int)
Só depois disso, é seguro escrever e ler do canal.