Sobes.tech
Junior — Middle

Leg het concept van closure uit en hoe het wordt gebruikt in programmeren

sobes.tech AI

Antwoord van AI

Closure (sluiting) is een functie die zich het omgevingsmilieu herinnert waarin hij werd gemaakt, inclusief toegang tot variabelen uit de externe scope, zelfs als dat gebied al uit de uitvoeringscontext is verdwenen.

In programmeren wordt een closure gebruikt voor:

  • Het bewaren van de toestand tussen functieaanroepen zonder gebruik van globale variabelen.
  • Het encapsuleren van gegevens en het creëren van private variabelen.
  • Het maken van functies met standaardparameters die waarden behouden.

Voorbeeld in 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

Hier is incrementer een closure die de variabele total uit de externe functie vastlegt en opslaat, waardoor de toestand tussen oproepen behouden blijft.