Go: отложенные функции
Из этой темы ты узнаешь:
-
что такое отложенные функции;
-
зачем используют отложенные функции;
-
как написать код для отложенной функции.
Что такое defer
В Go есть полезная конструкция defer, которая позволяет выполнять функции в фазе выхода из текущей функции, пример показан на скриншоте.
Самое время протестировать код!
Вывод:
Такие функции называются отложенными. Каждая такая функция добавляется в стек отложенных функций и будет выполнена в порядке LIFO (Last In First Out).
Самое время протестировать код!
Использование отложенных функций достаточно распространено. Например:
-
закрытие дескриптора файла после работы;
-
возвращение соединения с базой данных в общий пул после чтения всех строк;
-
закрытие TCP-соединения после полного прочтения тела ответа.
Изучи следующие материалы по теме: