Sobes.tech
Senior

U kom redosledu se izvršavaju više defer u istoj funkciji?

sobes.tech АИ

Одговор од АИ

U Go-u, više poziva defer u istoj funkciji izvršavaju se u LIFO (Last In, First Out) redosledu — to jest, poslednji odloženi poziv će biti izvršen prvi pri izlasku iz funkcije.

Primer:

func primer() {
    defer fmt.Println("Prvi")
    defer fmt.Println("Drugi")
    defer fmt.Println("Treći")
}
// Pri izlasku iz primer() će biti prikazano:
// Treći
// Drugi
// Prvi