Sobes.tech
Junior — Middle

¿Qué sucede en un programa si intentas leer desde un canal cerrado en Go?

sobes.tech AI

Respuesta de la IA

Si intentas leer desde un canal cerrado en Go, la operación de lectura devolverá un valor cero del tipo del canal y false en el segundo valor devuelto, si se usa la sintaxis con dos valores de retorno:

v, ok := <-ch

Aquí, ok será false, lo que significa que el canal está cerrado y no llegará más datos.

Si lees desde un canal cerrado sin verificar ok, obtendrás un valor cero del tipo del canal (por ejemplo, 0 para int).

Importante: leer desde un canal cerrado no bloquea ni provoca pánico, sino que devuelve inmediatamente un valor cero y false.