Senior
Wat betekent het trefwoord defer in Go?
sobes.tech AI
Antwoord van AI
In Go wordt het sleutelwoord defer gebruikt om functies uit te stellen: een met defer gemarkeerde oproep wordt uitgevoerd nadat de omringende functie is voltooid, maar vóór de terugkeer ervan.
Dit is handig voor het vrijmaken van bronnen, het sluiten van bestanden, het ontgrendelen van mutexen en andere opruimacties, en garandeert dat ze worden uitgevoerd, zelfs bij fouten of paniek.
Voorbeeld:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // bestand wordt gesloten bij het verlaten van de functie
// werken met het bestand
return nil
}
Op deze manier helpt defer om schonere en veiligere code te schrijven, door de levenscyclus van bronnen te beheren.