Sobes.tech
Senior

V akom poradí sa vykonávajú viaceré defer v jednej funkcii?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa viacero volaní defer v jednej funkcii vykonávajú v poradí LIFO (Last In, First Out) — teda posledné odložené volanie bude vykonané ako prvé pri opustení funkcie.

Príklad:

func príklad() {
    defer fmt.Println("Prvý")
    defer fmt.Println("Druhý")
    defer fmt.Println("Tretí")
}
// Pri opustení funkcie príklad() sa zobrazí:
// Tretí
// Druhý
// Prvý