В Go ключевое слово defer используется для откладывания выполнения функции до момента выхода из текущей функции. Очень полезный функционал, когда нужно освободить какие-то ресурсы (закрыть файл, канал, соединение с базой и т.д.)
Go часто критикуют за многословный шаблон: