Junior — Middle
¿Qué sucederá si intentas leer datos de un canal que aún no ha sido inicializado?
sobes.tech AI
Respuesta de la IA
Si intentas leer datos de un canal en Go que no ha sido inicializado (es decir, que es nil), la operación de lectura se bloqueará para siempre. Esto hará que la goroutine que intenta leer de ese canal se quede bloqueada, ya que el canal no existe y no puede transmitir datos.
Ejemplo:
var ch chan int // ch es nil
func main() {
fmt.Println(<-ch) // se bloquea para siempre
}
Para evitar esto, el canal debe ser inicializado usando make, por ejemplo: ch := make(chan int).