Junior — Middle
Meg tudná magyarázni a defer szerkezet működési elvét és alkalmazását a Go nyelvben?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a defer kulcsszó arra szolgál, hogy késleltetve hívjunk meg egy függvényt: ez a függvény a jelenlegi függvényből való kilépéskor fog végrehajtódni, 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(filename string) error {
file, err := os.Open(filename)
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 tisztább és biztonságosabb kód írásában, garantálva a fontos befejező műveletek végrehajtását.