Middle
Was ist der Operator defer in der Programmiersprache Go?
sobes.tech KI
Antwort von AI
Der defer-Operator wird verwendet, um Funktionen oder Methoden verzögert auszuführen. Funktionen, die mit defer markiert sind, werden unmittelbar vor dem Verlassen der sie umgebenden Funktion ausgeführt.
Funktionsweise von defer:
- Es wird beim Verlassen der aktuellen Funktion ausgeführt, egal ob normal oder durch einen Panic.
- Mehrere
deferin einer Funktion werden in LIFO-Reihenfolge (Last-In, First-Out) ausgeführt. - Nützlich zum Aufräumen von Ressourcen, wie z.B. zum Schließen von Dateien oder Netzwerkverbindungen.
Beispiel für die Verwendung:
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("Datei wird geöffnet.")
file, err := os.Open("example.txt")
if err != nil {
// Fehlerbehandlung
return
}
// Verzögertes Schließen der Datei
defer file.Close()
defer fmt.Println("Datei wird geschlossen.") // Dieser defer wird zuerst ausgeführt (LIFO)
fmt.Println("Verarbeite die Datei...")
// Weitere Arbeit mit der Datei
}
Ausgabe des Programms:
Datei wird geöffnet.
Verarbeite die Datei...
Datei wird geschlossen.