🟡 Средний · 2 очк. I/O и потоки данных
Что делает io.TeeReader и когда его используют?
A Возвращает Reader, который при чтении дополнительно записывает каждый фрагмент в указанный Writer
B Читает данные только до определенного байта
C Разделяет поток на два независимых Reader
D Читает и записывает в один и тот же файл
Объяснение вопроса

io.TeeReader(r, w) возвращает io.Reader, который при чтении ведет себя как r, но каждый прочитанный фрагмент дополнительно записывается в w.

var buf bytes.Buffer
r := io.TeeReader(httpResp.Body, &buf)
body, _ := io.ReadAll(r)
// body и buf.Bytes() содержат одни и те же данные

Типичные сценарии: логирование тела запроса/ответа при отладке, сохранение копии потока для повторного парсинга.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.