Junior — Middle
Маалымат агымы же канал окуу учурунда ишин аяктады деп кантип аныктоо керек?
sobes.tech AI
AIден жооп
Go'да, потоктон (мисалы, io.Reader'дан) окуганда, маалыматтын аягы же каналдын жабылышы кайтарылган ката io.EOF аркылуу аныкталат. Бул потоктун аяктаганын түшүнүүнүн стандарттык жолу.
Мисал:
buf := make([]byte, 1024)
n, err := reader.Read(buf)
if err == io.EOF {
// маалымат агымы аяктады
} else if err != nil {
// башка каталарды иштетүү
} else {
// окуулуп жаткан маалыматтарды иштетүү
}
Ошентип, io.EOF текшерүү, окуу учурунда поток же канал аяктаганынын белгилүү болушуна мүмкүндүк берет.