Назад к вопросам
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() будет выведено:
// Третий
// Второй
// Первый