Когда defer лучше не использовать или использовать осторожно?

GoMiddleFunctions, Errors and IdiomsТеорияfunctions_errors_and_idiomsdefergolang_developer

Что хотят услышать интервьюеры:

Суть:

Ответ:

defer

откладывает вызов функции до выхода из текущей функции и часто применяется для cleanup.

Пример:

f, _ := os.Open(path); defer f.Close()

Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.

Типичная ошибка: ставить defer в большом цикле и откладывать освобождение ресурсов до конца функции.

Как отвечать на собеседовании: Хороший ответ показывает, что Go строится вокруг явных ошибок, простых функций и предсказуемого control flow.

Источники

Похожие вопросы