Sobes.tech
Senior

In welcher Reihenfolge werden mehrere defer in einer Funktion ausgeführt?

sobes.tech KI

Antwort von AI

In Go werden mehrere defer-Aufrufe in einer Funktion in LIFO-Reihenfolge (Last In, First Out) ausgeführt — das heißt, der zuletzt verzögerte Aufruf wird zuerst beim Verlassen der Funktion ausgeführt.

Beispiel:

func beispiel() {
    defer fmt.Println("Erster")
    defer fmt.Println("Zweiter")
    defer fmt.Println("Dritter")
}
// Beim Verlassen von beispiel() wird ausgegeben:
// Dritter
// Zweiter
// Erster