Junior — Middle
Hoe bepaal je dat een gegevensstroom of kanaal klaar is tijdens het lezen?
sobes.tech AI
Antwoord van AI
In Go, bij het lezen uit een stroom (bijvoorbeeld uit io.Reader), wordt het einde van de gegevens of het sluiten van het kanaal bepaald door de geretourneerde fout io.EOF. Dit is de standaardmanier om te begrijpen dat de stroom is beëindigd.
Voorbeeld:
buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
// stroomgegevens zijn beëindigd
} else if err != nil {
// verwerking van andere fouten
} else {
// verwerking van de gelezen gegevens
}
Dus, het controleren op io.EOF stelt je in staat te bepalen dat de stroom of het kanaal tijdens het lezen is beëindigd.