Junior
Milyen szerepet tölt be a defer szerkezet a Go nyelvben?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a defer szerkezetet arra használják, hogy késleltetett végrehajtásra szánt függvényeket hívjanak meg: ezek a függvények a jelenlegi függvényből való kilépéskor kerülnek meghívásra, függetlenül attól, hogy hogyan történik a kilépés (normál vagy hiba miatt).
Ez hasznos az erőforrások felszabadítására, fájlok bezárására, mutexek feloldására és más tisztítási műveletekre.
Példa:
func readFile() error {
file, err := os.Open("file.txt")
if err != nil {
return err
}
defer file.Close() // a fájl a függvény kilépésekor bezáródik
// fájllal való munka
return nil
}
Így a defer segít garantálni, hogy fontos befejező műveletek végrehajtódnak, javítva az erőforrások kezelését és a hibakezelést.