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