Sobes.tech
Junior — Middle
112

Бір функция ішінде бірнеше defer операторларын қолдануға бола ма?

Сұралған компаниялар
AvitoAvito

AI-дан жауап

sobes.tech AI

Да, в Go можно использовать несколько операторов defer внутри одной функции. Все отложенные вызовы будут выполнены в обратном порядке (LIFO) после того, как функция завершит выполнение. Это удобно для освобождения ресурсов, закрытия файлов, разблокировки мьютексов и т.п.

Пример:

func example() {
    defer fmt.Println("Первый defer")
    defer fmt.Println("Второй defer")
    fmt.Println("В теле функции")
}

// Вывод будет:
// В теле функции
// Второй defer
// Первый defer