Junior — Middle
Kuidas määrata, kas andmevoog või kanal lõpetas oma töö lugemise ajal?
sobes.tech AI
Vastus AI-lt
Go keeles, lugedes voolust (näiteks io.Reader-ist), määratakse andmete lõpp või kanali sulgemine tagastatud veaga io.EOF. See on standardne viis mõista, et vool on lõppenud.
Näide:
buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
// vool on lõppenud
} else if err != nil {
// teiste vigade töötlemine
} else {
// loetud andmete töötlemine
}
Seega võimaldab io.EOF kontroll teha kindlaks, et vool või kanal on lugemise ajal lõpetanud töö.