Middle
Was ist defer in Go und wann wird es aufgerufen?
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 ausgeführt, aber vor ihrem Austritt.
Dies ist praktisch, um Ressourcen freizugeben, Dateien zu schließen, Mutexes freizugeben und andere Aufräumarbeiten durchzuführen, wobei garantiert wird, dass sie auch bei Fehlern oder Panik auftreten.
Beispiel:
func readFile() {
file, err := os.Open("file.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close() // Die Datei wird am Ende der Funktion geschlossen
// Arbeit mit der Datei
}
Hier wird file.Close() automatisch beim Verlassen von readFile aufgerufen, unabhängig davon, wie die Funktion beendet wird.