Sobes.tech
Junior — Middle

Могат ли да се съхраняват функции-затваряния в масиви в програмните езици?

sobes.tech AI

Отговор от AI

Да, в езици за програмиране, които поддържат функциите като обекти от първи клас (например Swift, Objective-C, JavaScript), затварянията (closures) могат да се съхраняват в масиви или други колекции.

В iOS (Swift) това изглежда така:

let closures: [() -> Void] = [
    { print("Първо затваряне") },
    { print("Второ затваряне") }
]

closures[0]() // Ще изведе: Първо затваряне

Това е полезно, когато трябва да съхраните набор от действия за по-късно извикване, например обработчици на събития или отложени задачи. Важното е да внимавате за улавянето на променливите вътре в затварянията, за да избегнете течове на памет.