Sobes.tech
Назад к вопросам
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)