Sobes.tech
Senior

Milyen sorrendben hajtódnak végre több defer egy függvényben?

sobes.tech MI

Válasz az MI-től

A Go-ban több defer hívás egy függvényben LIFO (Last In, First Out) sorrendben hajtódik végre — azaz az utolsó késleltetett hívás kerül végrehajtásra először a függvényből való kilépéskor.

Példa:

func példa() {
    defer fmt.Println("Első")
    defer fmt.Println("Második")
    defer fmt.Println("Harmadik")
}
// A példa() kilépésekor a következő fog megjelenni:
// Harmadik
// Második
// Első