Назад к вопросам
Middle+
7
Для чего используется передача метаданных через контекст?
Компании, где спрашивали
MAX LTD Group
Ответ от нейросети
sobes.tech AI
В Go контекст (context.Context) используется для передачи метаданных, таких как дедлайны, отмена операций и дополнительные значения, между функциями и горутинами.
Передача метаданных через контекст позволяет:
- Управлять временем жизни запроса (например, отменять операции при таймауте).
- Передавать информацию, не меняя сигнатуру функций (например, ID пользователя, токены).
- Обеспечивать потокобезопасность и удобство передачи данных в цепочке вызовов.
Пример передачи значения через контекст:
ctx := context.WithValue(context.Background(), "requestID", "12345")
func process(ctx context.Context) {
if reqID, ok := ctx.Value("requestID").(string); ok {
fmt.Println("Request ID:", reqID)
}
}
process(ctx)