Junior — Middle
Hogyan történik több késleltetett feladat (defer) egymás utáni végrehajtása?
sobes.tech MI
Válasz az MI-től
В Go ключевое слово defer используется для отложенного вызова функции, который выполняется после завершения окружающей функции. Если в одной функции несколько defer, они выполняются в порядке, обратном их объявлению — то есть стек вызовов.
Пример:
func example() {
defer fmt.Println("первая отложенная")
defer fmt.Println("вторая отложенная")
fmt.Println("выполнение функции")
}
Вывод будет:
выполнение функции
вторая отложенная
первая отложенная
Таким образом, несколько отложенных задач выполняются последовательно в обратном порядке их объявления.