Junior — Middle
Могат ли да се съхраняват функции-затваряния в масиви в програмните езици?
sobes.tech AI
Отговор от AI
Да, в езици за програмиране, които поддържат функциите като обекти от първи клас (например Swift, Objective-C, JavaScript), затварянията (closures) могат да се съхраняват в масиви или други колекции.
В iOS (Swift) това изглежда така:
let closures: [() -> Void] = [
{ print("Първо затваряне") },
{ print("Второ затваряне") }
]
closures[0]() // Ще изведе: Първо затваряне
Това е полезно, когато трябва да съхраните набор от действия за по-късно извикване, например обработчици на събития или отложени задачи. Важното е да внимавате за улавянето на променливите вътре в затварянията, за да избегнете течове на памет.