🔴 Сложный · 3 очк. I/O и потоки данных
Что такое io.Pipe и типичный сценарий его использования?
A Синхронный in-memory pipe: одна горутина пишет, другая читает, данные не накапливаются
B Асинхронная очередь сообщений между горутинами
C Канал для передачи только байтов
D Средство для чтения и записи в один файл одновременно
Объяснение вопроса

io.Pipe() создает связанную пару: *PipeReader и *PipeWriter. Запись блокируется, пока читающая сторона не прочитает данные.

pr, pw := io.Pipe()
go func() {
    defer pw.Close()
    io.Copy(pw, src)
}()
io.Copy(dst, pr)

Типичный сценарий: связать API, ожидающие io.Reader и io.Writer, без загрузки всего потока в память.

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