Senior
Que se passe-t-il lors de l'écriture dans un canal non initialisé (nil) ?
sobes.tech IA
Réponse de l'IA
En Go, écrire dans un canal non initialisé (nil) entraîne le blocage de la goroutine indéfiniment, car un canal nil n'est pas prêt à recevoir ou à envoyer des données.
Exemple:
var ch chan int // ch == nil
func main() {
ch <- 1 // se bloque indéfiniment, car le canal est nil
}
Ce comportement est parfois utilisé pour activer/désactiver dynamiquement des canaux dans select, car les opérations avec un canal nil ne s'exécutent jamais et bloquent la goroutine.