Context передаёт отмену, deadline и небольшие request-scoped значения по цепочке операций. Без него можно писать программы, но согласованно отменять работу сложнее.
Что такое context в Go, зачем нужен, можно ли без него жить?
Context передаёт отмену, deadline и небольшие request-scoped значения по цепочке операций. Без него можно писать программы, но согласованно отменять работу сложнее.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Context передаёт отмену, deadline и небольшие request-scoped значения по цепочке операций. Без него можно писать программы, но согласованно отменять работу сложнее.
Передавайте его первым параметром и проверяйте отмену в долгих операциях. Context не останавливает произвольную функцию принудительно: код и драйверы должны её поддерживать. Не используйте values как контейнер обязательных бизнес-параметров; они должны оставаться явными аргументами.