Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpCtInr 173 of 280 menu
◀ ▶

Введение в контекст в Go

Контекст в Go это значение, которое идет первым аргументом в функцию и дальше передается вниз по вызовам. Через него родитель сообщает дочерним веткам, что работу пора прекратить, и иногда передает одно короткое значение, не тянущее отдельную структуру параметров.

Сигнал отмены связан с каналом, который закрывается, когда контекст считают завершенным. Горутина может ждать этот канал так же, как ждала бы свой done из раздела про каналы, и выйти из цикла или долгой операции, не дожидаясь конца сама по себе.

Корень дерева контекстов не отменяют: его берут, когда нет внешнего срока и нечего отменять сверху. От корня строят дочерние контексты с ручной отменой, со сроком или с прикрепленным значением. Заглушку ставят, пока место для контекста в коде уже есть, а конкретный родитель еще не выбран.

В этом разделе разберем корень и заглушку, ручную отмену, срок, значение по ключу и закрепим приемы в задачах. Горутины, каналы и ожидание сигнала конца работы уже знакомы; HTTP и базу здесь не затрагиваем, хотя позже тот же пакет часто появится и там.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить