Junior — Middle
Vysvetlite koncept closure a ako sa používa v programovaní
sobes.tech AI
Odpoveď od AI
Zatvorka (closure) je funkcia, ktorá si «pamätá» prostredie, v ktorom bola vytvorená, vrátane prístupu k premenným z vonkajšieho rozsahu, aj keď tento rozsah už opustil kontext vykonávania.
V programovaní sa zatvorka používa na:
- Uloženie stavu medzi volaniami funkcie bez použitia globálnych premenných.
- Zapuzdrovanie dát a vytváranie súkromných premenných.
- Vytváranie funkcií s predvolenými parametrami, ktoré si zachovávajú hodnoty.
Príklad v 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
Tu je incrementer uzávier, ktorý zachytáva a uchováva premennú `total z vonkajšej funkcie, čo umožňuje zachovanie stavu medzi volaniami.