Sobes.tech
Junior — Middle

Kako odrediti da li je tok podataka ili kanal završio svoj rad tokom čitanja?

sobes.tech АИ

Одговор од АИ

U Go-u, prilikom čitanja iz toka (na primer, iz io.Reader), kraj podataka ili zatvaranje kanala se određuje po vraćenoj grešci io.EOF. Ovo je standardni način da se shvati da je tok završio.

Primer:

buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
    // tok podataka je završio
} else if err != nil {
    // obrada drugih grešaka
} else {
    // obrada pročitanih podataka
}

Tako, provera na io.EOF omogućava da se odredi da je tok ili kanal završio svoj rad tokom čitanja.