Назад к вопросам
Avito
Junior — Middle
81
Можно ли иметь несколько операторов defer внутри одной функции?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Да, в Go можно использовать несколько операторов defer внутри одной функции. Все отложенные вызовы будут выполнены в обратном порядке (LIFO) после того, как функция завершит выполнение. Это удобно для освобождения ресурсов, закрытия файлов, разблокировки мьютексов и т.п.
Пример:
func example() {
defer fmt.Println("Первый defer")
defer fmt.Println("Второй defer")
fmt.Println("В теле функции")
}
// Вывод будет:
// В теле функции
// Второй defer
// Первый defer