Sobes.tech
Junior — Middle

Paaiškinkite closure sąvoką ir kaip ji naudojama programavime

sobes.tech AI

Atsakymas iš AI

Uždarymas (closure) yra funkcija, kuri «atsimena» aplinką, kurioje ji buvo sukurta, įskaitant prieigą prie išorinio apimties kintamųjų, net jei ši sritis jau išėjo iš vykdymo konteksto.

Programavime uždarymas naudojamas:

  • Išsaugoti būseną tarp funkcijos kvietimų be naudoti globalių kintamųjų.
  • Užrakinti duomenis ir sukurti privačius kintamuosius.
  • Kurti funkcijas su numatytaisiais parametrais, kurie išlaiko savo reikšmes.

Pavyzdys 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

Čia, incrementer yra uždarymas, kuris gaudo ir išsaugo išorinės funkcijos kintamąjį total, leidžiantį išlaikyti būseną tarp kvietimų.