Sobes.tech
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.