Sobes.tech
Junior — Middle

Jak určit, že datový tok nebo kanál dokončil svou práci během čtení?

sobes.tech AI

Odpověď od AI

V jazyce Go při čtení ze streamu (například z io.Reader) je konec dat nebo uzavření kanálu určeno vrácenou chybou io.EOF. Jedná se o standardní způsob, jak pochopit, že stream skončil.

Příklad:

buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
    // datový proud skončil
} else if err != nil {
    // zpracování jiných chyb
} else {
    // zpracování načtených dat
}

Tímto způsobem kontrola io.EOF umožňuje určit, že stream nebo kanál ukončil svou práci při čtení.