Middle
Was ist defer und wofür wird es verwendet? In welcher Reihenfolge werden defer-Aufrufe ausgeführt, wenn es mehrere in einer Funktion gibt?
sobes.tech KI
Antwort von AI
In Go wird das Schlüsselwort defer verwendet, um eine Funktion verzögert aufzurufen: Sie wird nach Abschluss der umgebenden Funktion, aber vor deren Rückgabe ausgeführt. Dies ist praktisch, um Ressourcen freizugeben, Dateien zu schließen, Mutexes zu entsperren und andere Aufräumarbeiten durchzuführen.
Wenn in einer Funktion mehrere defer-Aufrufe vorhanden sind, werden sie in umgekehrter Reihenfolge ihrer Deklaration ausgeführt (Stapelreihenfolge). Das heißt, der zuletzt deklarierte defer wird zuerst ausgeführt.
Beispiel:
func beispiel() {
defer fmt.Println("Erster defer")
defer fmt.Println("Zweiter defer")
fmt.Println("Im Funktionskörper")
}
// Die Ausgabe wird sein:
// Im Funktionskörper
// Zweiter defer
// Erster defer