Sobes.tech
Senior

W jakiej kolejności wykonywane są różne defer w jednej funkcji?

sobes.tech AI

Odpowiedź od AI

W Go, wiele wywołań defer w jednej funkcji jest wykonywanych w kolejności LIFO (Last In, First Out) — czyli ostatnie odłożone wywołanie zostanie wykonane jako pierwsze po wyjściu z funkcji.

Przykład:

func przykład() {
    defer fmt.Println("Pierwszy")
    defer fmt.Println("Drugi")
    defer fmt.Println("Trzeci")
}
// Po wyjściu z przykład() zostanie wyświetlone:
// Trzeci
// Drugi
// Pierwszy