Senior
Was ist defer in Go? Was gibt der Code mit zwei defer aus?
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.
Wenn in einer Funktion mehrere defer-Anweisungen vorhanden sind, werden diese in umgekehrter Reihenfolge ihrer Deklaration ausgeführt (Call-Stack).
Beispiel:
package main
import "fmt"
func main() {
defer fmt.Println("Erster defer")
defer fmt.Println("Zweiter defer")
fmt.Println("Hauptcode")
}
Die Ausgabe wird sein:
Hauptcode
Zweiter defer
Erster defer
Das bedeutet, dass zuerst der Hauptcode ausgeführt wird, dann die verzögerten Aufrufe in umgekehrter Reihenfolge.