Какая конструкция языка Go позволяет выполнить действие при выходе из области видимости горутины/функции?

Для отложенного действия при выходе из функции используют defer. Он привязан к функции, а не к произвольному блоку или каждой итерации цикла.

Короткий ответ

Что ответить на собеседовании

Для отложенного действия при выходе из функции используют defer. Он привязан к функции, а не к произвольному блоку или каждой итерации цикла.

Подробный разбор

Ответ с пояснениями

Для отложенного действия при выходе из функции используют defer. Он привязан к функции, а не к произвольному блоку или каждой итерации цикла.

Отложенные вызовы выполняются в обратном порядке и полезны для освобождения ресурсов. В горутине defer сработает при выходе из её функции, в том числе во время раскрутки panic. Но завершение main не ждёт остальных горутин, поэтому их defer могут не выполниться. Нельзя считать defer универсальным обработчиком любого прекращения процесса.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее