Sobes.tech
Назад к вопросам
Junior — Middle
82

В какой момент в процессе выполнения Go-кода вызывается оператор defer?

Ответ от нейросети

sobes.tech AI

Оператор defer в Go откладывает выполнение указанной функции до момента выхода из окружающей функции, в которой он объявлен. То есть, вызов функции, переданной в defer, происходит в самом конце выполнения текущей функции, сразу перед её возвратом. Это удобно для освобождения ресурсов, закрытия файлов, разблокировки мьютексов и т.п.

Пример:

func example() {
    defer fmt.Println("Отложенный вызов")
    fmt.Println("Основной код")
}
// Вывод будет:
// Основной код
// Отложенный вызов