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().