Встречается на собеседованиях • сегодня
Использовал ли context.WithValue
context.WithValue используется для передачи данных через контекст в цепочке вызовов. Это удобно для передачи request-scoped данных, например, аутентификационных токенов или трейс-идентификаторов. Однако злоупотреблять им не стоит — контекст не предназначен для передачи сложных зависимостей.
Пример:
go
ctx := context.Background()
ctx = context.WithValue(ctx, "userID", 123)
// Где-то в другом месте
userID := ctx.Value("userID").(int) // Приведение типа обязательноВажно:
- Используйте ключи своего типа (не строки) во избежание коллизий
- Не передавайте через контекст обязательные параметры функций
- Данные должны быть потокобезопасными
Контекст — это не замена DI или глобальным переменным, а механизм передачи метаданных.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы