Senior
¿Qué sucede al escribir en un canal no inicializado (nil)?
sobes.tech AI
Respuesta de la IA
En Go, escribir en un canal no inicializado (nil) conduce a bloquear la goroutine indefinidamente, ya que un canal nil no está listo para recibir ni enviar datos.
Ejemplo:
var ch chan int // ch == nil
func main() {
ch <- 1 // se bloquea indefinidamente, ya que el canal es nil
}
Este comportamiento se usa a veces para habilitar/deshabilitar dinámicamente canales en select, ya que las operaciones con canales nil nunca se ejecutan y bloquean la goroutine.