Sobes.tech
Junior — Middle

Може ли имати више defer оператора у једној функцији?

sobes.tech АИ

Одговор од АИ

Da, u jeziku Go možete koristiti više operatora defer unutar jedne funkcije. Svi odloženi pozivi će se izvršiti u obrnutom redoslijedu (LIFO) nakon što funkcija završi. Ovo je korisno za oslobađanje resursa, zatvaranje datoteka, otključavanje mutexa itd.

Primjer:

func primjer() {
    defer fmt.Println("Prvi defer")
    defer fmt.Println("Drugi defer")
    fmt.Println("U tijelu funkcije")
}

// Izlaz će biti:
// U tijelu funkcije
// Drugi defer
// Prvi defer