Sobes.tech
Junior — Middle

¿Qué sucederá si intentas cerrar un canal que ya está cerrado?

sobes.tech AI

Respuesta de la IA

En Go, intentar cerrar un canal que ya está cerrado provocará un pánico (panic) durante la ejecución del programa. Esto se debe a que la función close() está diseñada para cerrar un canal solo una vez, y cerrarlo repetidamente se considera un error.

Ejemplo:

ch := make(chan int)
close(ch)      // cierre correcto
close(ch)      // provocará panic: close of closed channel

Para evitar el pánico, se debe garantizar que el canal solo se cierre una vez, por ejemplo, mediante lógica adicional o sincronización.