Context решает три задачи: отмена операций, дедлайны/таймауты и передача request-scoped данных. Допустим, пользователь отменил HTTP запрос — через context.WithCancel отмена прокидывается вниз по всей цепочке вызовов: хендлер → сервис → запрос в БД. WithTimeout даёт таймаут на операцию, WithValue — прокидывает trace ID или auth данные. Контекст всегда первый аргумент функции, это конвенция Go.
Зачем нужен context в Go?
Middle
1.5k просмотровAFK Offer AI
Как сделать потокобезопасную map?