Sobes.tech
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.