Sobes.tech
Junior — Middle

Ar galėtumėte paaiškinti, ką reiškia raktinis žodis Defer ir kaip jis naudojamas programavime?

sobes.tech AI

Atsakymas iš AI

Programavimo kalboje (pavyzdžiui, Swift ar Go) raktinis žodis defer naudojamas atidėti kodo vykdymą iki dabartinės apimties pabaigos.

iOS (Swift) defer leidžia garantuoti tam tikro kodo bloko vykdymą funkcijos pabaigoje, nepriklausomai nuo to, kaip funkcija užbaigiama — sėkmingai ar su klaida. Tai naudinga resursų atlaisvinimui, failų uždarymui, užraktų paleidimui ir pan.

Swift pavyzdys:

func readFile() {
    let file = openFile()
    defer {
        closeFile(file) // šis kodas bus vykdomas funkcijos pabaigoje
    }
    // darbai su failu
    if errorOccurred {
        return // `defer` vis tiek bus vykdomas
    }
    // kitos operacijos
}

Taip defer padeda rašyti švaresnį ir saugesnį kodą, valdyti išteklius.