Junior — Middle
Môžete hovoriť o dôležitých vlastnostiach používania uzáverov v programovaní?
sobes.tech AI
Odpoveď od AI
Zatvárania (closures) sú funkcie, ktoré si "pamätajú" kontext, v ktorom boli vytvorené, vrátane prístupu k premenným z vonkajšieho rozsahu, aj po tom, čo tento rozsah už nie je aktívny.
Dôležité vlastnosti zatváraní:
- Umožňujú zachovať stav medzi volaniami funkcie.
- Používajú sa na vytváranie súkromných premenných a enkapsuláciu.
- Často sa používajú v asynchrónnom programovaní a obslužníkoch udalostí.
Príklad v Swift:
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Tu zatváranie uchováva premennú total medzi volaniami, čo umožňuje sčítanie hodnoty.