Sobes.tech
Назад к вопросам
Senior
3

В каком порядке выполняются несколько defer в одной функции?

Компании, где спрашивали
А7

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

sobes.tech AI

В Go несколько вызовов defer в одной функции выполняются в порядке LIFO (Last In, First Out) — то есть последний отложенный вызов будет выполнен первым при выходе из функции.

Пример:

func example() {
    defer fmt.Println("Первый")
    defer fmt.Println("Второй")
    defer fmt.Println("Третий")
}
// При выходе из example() будет выведено:
// Третий
// Второй
// Первый