С пакетом Go context
можно передать данные, специфичные для запроса, в стек функций обработки запросов, используя
func WithValue(parent Context, key, val interface{}) Context
Это создает новый context
, который является копией родителя и содержит значение val, к которому можно получить доступ с помощью ключа.
Как мне продолжить, если я хочу сохранить несколько пар ключ-значение в context
? Должен ли я называть WithValue()
несколько раз, каждый раз передавая context
, полученный от моего последнего вызова, на WithValue()
? Это кажется громоздким.
Или я буду использовать структуру и поместить все мои данные там, s.t. Мне нужно передать только одно значение (которое является структурой), из которого можно получить доступ ко всем остальным?
Или существует способ передачи нескольких пар ключ-значение в WithValue()
?