Sobes.tech
Junior — Middle

Comment déterminer si un flux de données ou un canal a terminé son travail lors de la lecture?

sobes.tech IA

Réponse de l'IA

En Go, lors de la lecture à partir d'un flux (par exemple, à partir de io.Reader), la fin des données ou la fermeture du canal est déterminée par l'erreur renvoyée io.EOF. C'est la méthode standard pour comprendre que le flux est terminé.

Exemple :

buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
    // le flux de données est terminé
} else if err != nil {
    // gestion d'autres erreurs
} else {
    // traitement des données lues
}

Ainsi, la vérification de io.EOF permet de déterminer que le flux ou le canal a terminé son travail lors de la lecture.