Sobes.tech
Junior — Middle

Kaip nustatyti, ar duomenų srautas ar kanalas baigė savo darbą skaitymo metu?

sobes.tech AI

Atsakymas iš AI

Go kalboje, skaitant iš srauto (pvz., iš io.Reader), duomenų pabaiga arba kanalo uždarymas nustatomas pagal grąžinamą klaidą io.EOF. Tai yra standartinis būdas suprasti, kad srautas baigėsi.

Pavyzdys:

buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
    // duomenų srautas baigėsi
} else if err != nil {
    // kitų klaidų apdorojimas
} else {
    // perskaitytų duomenų apdorojimas
}

Taigi, io.EOF patikrinimas leidžia nustatyti, kad srautas arba kanalas baigė savo darbą skaitymo metu.