Junior — Middle
Wyjaśnij koncepcję closure i jak jest używana w programowaniu
sobes.tech AI
Odpowiedź od AI
Zamknięcie (closure) to funkcja, która «zapamiętuje» środowisko, w którym została utworzona, w tym dostęp do zmiennych z zewnętrznego zakresu, nawet jeśli ta strefa już opuściła kontekst wykonania.
W programowaniu zamknięcie jest używane do:
- Zachowania stanu między wywołaniami funkcji bez użycia zmiennych globalnych.
- Inkapsulacji danych i tworzenia prywatnych zmiennych.
- Tworzenia funkcji z domyślnymi parametrami, które zachowują wartości.
Przykład w 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
Tutaj incrementer to closure, które przechwytuje i zachowuje zmienną total z funkcji zewnętrznej, umożliwiając zachowanie stanu między wywołaniami.