defer планирует блок на выход из scope (return/throw/fallthrough); удобен для парных действий cleanup.
Разбор
- Несколько
defer выполняются LIFO.
- Не для длинной async-логики.
- Классика: закрыть файл, unlock, endUpdates.
- Выполняется даже при ошибке в scope (если не abort процесса).
Итог
defer гарантирует cleanup при любом выходе из области видимости.