Sobes.tech
Junior — Middle

¿Qué sucede si realiza una operación de escritura en un canal vacío (nil) en el lenguaje Go?

sobes.tech AI

Respuesta de la IA

Si intentas escribir un valor en un canal nil en Go, el programa se bloqueará para siempre (deadlock). Esto sucede porque el canal nil no está inicializado y no puede aceptar ni enviar valores.

Ejemplo:

var ch chan int // ch == nil

func main() {
    ch <- 1 // aquí el programa se bloqueará
}

Para evitar esto, el canal debe inicializarse con make, por ejemplo:

ch := make(chan int)

Solo después de esto, se puede escribir y leer de manera segura en el canal.