Sobes.tech
Back to questions
Senior
5

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

Companies where asked
А7

Answer from AI

sobes.tech AI

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

Пример:

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