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