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.