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