Junior — Middle
Kunt u het werkingsprincipe en het gebruik van de defer-constructie in de Go-taal uitleggen?
sobes.tech AI
Antwoord van AI
In Go wordt het sleutelwoord defer gebruikt om een functie uit te stellen: deze wordt uitgevoerd op het moment dat de huidige functie wordt verlaten, ongeacht hoe de uitgang plaatsvindt (normaal of door een fout). Dit is handig voor het vrijmaken van bronnen, het sluiten van bestanden, het ontgrendelen van mutexen en andere opruimacties.
Voorbeeld:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // het 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 het garanderen van de uitvoering van belangrijke afsluitacties.