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.