Junior — Middle
Објасните концепт closure и како се користи у програмирању
sobes.tech АИ
Одговор од АИ
Затвара (closure) је функција која «сећа» окружење у којем је створена, укључујући приступ променљивима из спољњег опсега, чак и ако је та област већ напустила контекст извршења.
У програмирању, затварање се користи за:
- Чување стања између позива функције без коришћења глобалних променљивих.
- Инкапсулацију података и креирање приватних променљивих.
- Креирање функција са подразумеваним параметрима који чувају вредности.
Пример у 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
Овде, incrementer је затварање које ухвата и чува променљиву total из спољашње функције, омогућавајући чување стања између позива.