🟢 Лёгкий · 1 очк. I/O и потоки данных
Что такое интерфейс io.Reader в Go и для чего он нужен?
A Интерфейс с методом Read(p []byte) (n int, err error); абстракция любого источника данных
B Структура для чтения файлов с диска
C Канал для передачи байтов между горутинами
D Интерфейс для буферизованного чтения строк
Объяснение вопроса

Интерфейс io.Reader описывает любой источник данных, из которого можно читать байты:

type Reader interface {
    Read(p []byte) (n int, err error)
}

Реализуют: *os.File, *bytes.Buffer, strings.Reader, тело HTTP-ответа и т.д. Функции вроде io.Copy, io.ReadAll принимают io.Reader, поэтому один и тот же код работает с файлами, сетью и памятью.

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