Карточка Junior context обновлено
Правила работы с context
Вопрос
Назовите основные правила использования context.Context.
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Первый аргумент с именем ctx; не хранить в структурах; не передавать nil (есть context.TODO); всегда вызывать cancel; WithValue только для данных уровня запроса; контекст безопасен для многих горутин.
Ответ
Первый аргумент с именем ctx; не хранить в структурах; не передавать nil (есть context.TODO); всегда вызывать cancel; WithValue только для данных уровня запроса; контекст безопасен для многих горутин.
Разбор
Исключение из «не хранить в структуре»: объекты, живущие ровно один запрос, например итератор результатов запроса.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.