Junior — Middle
Explicați conceptul de closure și cum este utilizat în programare
sobes.tech AI
Răspuns de la AI
Închidere (closure) este o funcție care «ține minte» mediul în care a fost creată, inclusiv accesul la variabile din domeniul extern, chiar dacă această zonă a părăsit deja contextul de execuție.
În programare, closure este utilizată pentru:
- Păstrarea stării între apelurile funcției fără utilizarea variabilelor globale.
- Încapsularea datelor și crearea variabilelor private.
- Crearea funcțiilor cu parametri predeterminați care păstrează valorile.
Exemplu în Swift (iOS):
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
let incrementer: () -> Int = {
total += amount
return total
}
return incrementer
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Aici, incrementer este o closure care capturează și păstrează variabila total din funcția externă, permițând păstrarea stării între apeluri.