Junior — Middle
Cum se determină dacă un flux de date sau un canal s-a încheiat în timpul citirii?
sobes.tech AI
Răspuns de la AI
În Go, la citirea dintr-un flux (de exemplu, din io.Reader), sfârșitul datelor sau închiderea canalului se determină prin eroarea returnată io.EOF. Aceasta este metoda standard de a înțelege că fluxul s-a încheiat.
Exemplu:
buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
// fluxul de date s-a încheiat
} else if err != nil {
// tratarea altor erori
} else {
// tratarea datelor citite
}
Astfel, verificarea pentru io.EOF permite determinarea faptului că fluxul sau canalul și-a încheiat activitatea în timpul citirii.