Junior — Middle
Erklären Sie, was das Einfangen von Variablen innerhalb einer Closure-Funktion bedeutet.
sobes.tech KI
Antwort von AI
Das Erfassen von Variablen innerhalb einer Closure-Funktion bedeutet, dass die Closure sich "erinnert" und Variablen aus dem umgebenden Kontext verwenden kann, in dem sie erstellt wurde.
Zum Beispiel, wenn innerhalb einer Funktion eine Variable deklariert wird und dann eine Funktion zurückgegeben wird, die diese Variable verwendet, wird diese Variable von der Closure "erfasst" und behält ihren Wert auch nach dem Verlassen der äußeren Funktion.
Beispiel in Swift:
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Hier erfasst die Closure die Variablen total und amount, behält ihren Zustand zwischen den Aufrufen bei. Dies ermöglicht die Erstellung von Funktionen mit internem Zustand.