Назад к вопросам
Junior — Middle
75
Какую информацию допустимо передавать через контекст в приложении?
Компании, где спрашивали
Российский центр оборота прав
Ответ от нейросети
sobes.tech AI
В Go через контекст (context.Context) обычно передают информацию, связанную с управлением жизненным циклом запроса или операции, например:
- Отмена операции (через
Done()канал). - Дедлайны и таймауты (через
Deadline()). - Значения, которые нужны на протяжении всей цепочки вызовов, например, идентификаторы запросов, токены аутентификации, метаданные.
Важно: в контекст нельзя помещать большие объекты, состояние или данные, которые не относятся к управлению запросом, чтобы не нарушать его предназначение и не создавать утечки памяти.
Пример передачи значения через контекст:
ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")