Junior — Middle
O que acontece se tentar ler dados de um canal que ainda não foi inicializado?
sobes.tech IA
Resposta da IA
Se tentar ler dados de um canal em Go que não foi inicializado (ou seja, é nil), a operação de leitura ficará bloqueada para sempre. Isso fará com que a goroutine que tenta ler desse canal fique presa, pois o canal não existe e não pode transmitir dados.
Exemplo:
var ch chan int // ch é nil
func main() {
fmt.Println(<-ch) // fica bloqueado para sempre
}
Para evitar isso, o canal deve ser inicializado usando make, por exemplo: ch := make(chan int).