Назад к вопросам
Junior — Middle
82
В какой момент в процессе выполнения Go-кода вызывается оператор defer?
Ответ от нейросети
sobes.tech AI
Оператор defer в Go откладывает выполнение указанной функции до момента выхода из окружающей функции, в которой он объявлен. То есть, вызов функции, переданной в defer, происходит в самом конце выполнения текущей функции, сразу перед её возвратом. Это удобно для освобождения ресурсов, закрытия файлов, разблокировки мьютексов и т.п.
Пример:
func example() {
defer fmt.Println("Отложенный вызов")
fmt.Println("Основной код")
}
// Вывод будет:
// Основной код
// Отложенный вызов