Sobes.tech
Junior — Middle

Selgitage closure kontseptsiooni ja kuidas seda programmeerimises kasutatakse

sobes.tech AI

Vastus AI-lt

Lõpetamine (closure) on funktsioon, mis «mäletab» keskkonda, kus see loodi, sealhulgas juurdepääsu välise ulatuse muutujatele, isegi kui see piirkond on juba väljaspool täitmise konteksti.

Programmeerimisel kasutatakse lõppeid:

  • Seisundi säilitamiseks funktsiooni kutsumiste vahel ilma globaalsete muutujate kasutamiseta.
  • Andmete kapseldamiseks ja privaatsete muutujate loomiseks.
  • Funktsioonide loomine vaikeseadistustega, mis säilitavad väärtused.

Näide Swiftis (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

Siin on incrementer lõpp, mis haarab ja säilitab välise funktsiooni total muutuja, võimaldades säilitada seisundi kutsumiste vahel.