Выбор ответа Middle context обновлено
Что класть в context.WithValue
Вопрос
Что уместно передавать через context.WithValue?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Данные запроса: request id, пользователь, trace span. Контекст несёт то, что относится к конкретному запросу и пересекает границы API.
Варианты ответа
- Соединение с базой данных, чтобы не тащить его в аргументах
- Необязательные параметры функции вместо лишних аргументов
- Данные запроса: request id, пользователь, trace spanправильный ответ
- Конфигурацию приложения, загруженную при старте
Разбор
Контекст несёт то, что относится к конкретному запросу и пересекает границы API. Зависимости (база, логгер по умолчанию, конфиг) передаются явно: через поля структуры или аргументы, иначе они становятся невидимыми и не проверяются компилятором. Параметры функции через контекст тоже прячут контракт.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.