Sobes.tech
Junior — Middle

Comment peut-on terminer la lecture des données d'un canal en programmation?

sobes.tech IA

Réponse de l'IA

En Go, pour terminer la lecture d'un canal, on utilise généralement la fermeture du canal avec la fonction close(). Lorsqu'un canal est fermé, une tentative de lecture renvoie une valeur zéro et false en second, ce qui permet de détecter la fin des données.

Exemple :

ch := make(chan int)
go func() {
    for i := 0; i < 5; i++ {
        ch <- i
    }
    close(ch) // signaler qu'il n'y a plus de données
}()

for val := range ch {
    fmt.Println(val) // lit jusqu'à la fermeture du canal
}

Dans cet exemple, la boucle for val := range ch se terminera automatiquement lorsque le canal sera fermé et que toutes les données auront été lues.