Sobes.tech
Junior — Middle

Puteți explica ce înseamnă Auto Closure în contextul programării?

sobes.tech AI

Răspuns de la AI

Auto Closure este un mecanism în Swift care permite în mod automat învelirea unei expresii într-o închidere (closure). Aceasta înseamnă că, în loc să transmiteți explicit o închidere, puteți transmite o expresie care va fi evaluată doar atunci când închiderea este apelată.

Avantaje:

  • Calcul întârziat: expresia nu este evaluată imediat, ci doar atunci când este necesar.
  • Sintaxă convenabilă: codul devine mai curat și mai simplu.

Exemplu:

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

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

Aici, 2 > 1 nu se evaluează imediat la apel, ci doar în interiorul funcției când se apelează predicate().