Sobes.tech
Junior — Middle

Puteți explica conceptul de Autoclosure și cum este utilizat în limbajul de programare?

sobes.tech AI

Răspuns de la AI

Autoclosure este un tip special de închidere în Swift, care este creat automat dintr-o expresie transmisă unei funcții. Permite amânarea evaluării expresiei până în momentul utilizării acesteia în interiorul funcției, păstrând o sintaxă de apel simplă.

De exemplu, în loc să scrieți explicit o închidere:

func logIfTrue(_ predicate: () -> Bool) {
    if predicate() {
        print("Condiția este adevărată")
    }
}

logIfTrue({ 2 > 1 })

Se poate folosi autoclosure:

func logIfTrue(_ predicate: @autoclosure () -> Bool) {
    if predicate() {
        print("Condiția este adevărată")
    }
}

logIfTrue(2 > 1) // Expresia este învelită automat într-o închidere

Acest lucru îmbunătățește lizibilitatea codului și permite transmiterea de expresii care vor fi evaluate doar dacă este necesar.