Заключение
В Google мы требуем, чтобы программисты Go передавали параметр Context в качестве первого аргумента для каждой функции на пути вызова между входящими и исходящими запросами. Это позволяет коду Go, разработанному многими различными командами, хорошо взаимодействовать. Он обеспечивает простой контроль за тайм-аутами и отменой и гарантирует правильное выполнение таких критически важных значений, как учетные данные безопасности.
Серверные фреймворки, которые хотят использовать Context, должны обеспечивать реализацию Context для объединения между их пакетами и теми, которые ожидают параметр Context. Затем их клиентские библиотеки принмут контекст из вызывающего кода. Установив общий интерфейс для данных и сокращенных запросов, Context упрощает разработчикам пакетов совместное использование кода для создания масштабируемых сервисов.
By Sameer Ajmani