Junior — Middle
Este posibil să stocați funcții de închidere în interiorul array-urilor în limbajele de programare?
sobes.tech AI
Răspuns de la AI
Da, în limbajele de programare care suportă funcții ca obiecte de primă clasă (de exemplu, Swift, Objective-C, JavaScript), closure-urile pot fi stocate în array-uri sau alte colecții.
În iOS (Swift), acest lucru arată astfel:
let closures: [() -> Void] = [
{ print("Primul closure") },
{ print("Al doilea closure") }
]
closures[0]() // Va afișa: Primul closure
Este util atunci când trebuie să stocați un set de acțiuni pentru a fi apelate ulterior, de exemplu, handleri de evenimente sau sarcini întârziate. Principalul lucru de avut în vedere este captarea variabilelor în interiorul closure-urilor pentru a evita scurgerile de memorie.