Откладывание выполнения кода обычно используется в Go для очистки ресурсов. Это не так часто встречается, но бывает, что defer
также используется для выполнения обычной бизнес-логики. В качестве последнего шага выполнения, независимо от того, в какой точке функция нажимает ключевое слово return
.
На странице Перейти в блог , мы можем обнаружить, что выражение " defer вызывает функциювызов списка. Список сохраненных вызовов выполняется после возврата окружающей функции. Отсрочка обычно используется для упрощения функций, выполняющих различные действия по очистке."
Они упоминают об очистке, ноничего о обычном выполнении кода. Очевидно, что он может выполнять произвольный код, не требует очистки. Это лучшая практика, хотя? Есть ли у сообщества какие-либо соглашения по конвенции или наилучшей практике в этом отношении?