Junior — Middle
Comment peut-on terminer le travail avec un canal dans le programme?
sobes.tech IA
Réponse de l'IA
En Go, pour terminer l'utilisation d'un canal, on utilise la fonction close(). Fermer un canal signale aux récepteurs qu'aucune nouvelle valeur ne sera envoyée. Après la fermeture du canal, tenter d'y envoyer provoquera une panique, mais il est possible de lire depuis un canal fermé : cela renverra une valeur zéro et false en second paramètre.
Exemple :
ch := make(chan int)
ngo func() {
ch <- 42
close(ch) // Fermeture du canal après l'envoi
}()
for val := range ch {
fmt.Println(val) // Affichera 42
}
Ainsi, pour terminer le travail avec un canal, il faut appeler close(channel).