Sobes.tech
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.