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.