Sobes.tech
Назад к вопросам
Junior — Middle
79

Каким образом определить, что поток данных или канал завершил свою работу во время чтения?

Компании, где спрашивали
ГазпромГазпром

Ответ от нейросети

sobes.tech 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 позволяет определить, что поток или канал завершил свою работу во время чтения.