Что делает defer?

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

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

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

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

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

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

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

Аргументы отложенного вызова вычисляются в момент выполнения defer, а сама функция вызывается позже. Это удобно для Unlock и Close. В цикле defer не выполняется в конце каждой итерации, поэтому ресурсы могут накапливаться до выхода из функции. Отложенная функция может менять именованный возвращаемый результат; при аварийном завершении через os.Exit defer не выполняется.

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

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

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

Подробнее