Junior — Middle
Dasturlashda yopilishlarning muhim xususiyatlari haqida gapira olasizmi?
sobes.tech AI
AIdan javob
Yopiq (closures) — bu yaratilgan kontekstni "eslab qoladigan" funksiyalar bo'lib, ular tashqi doiradagi o'zgaruvchilarga kirishni ham o'z ichiga oladi, hatto bu doira endi faol bo'lmasa ham.
Yopiqning muhim xususiyatlari:
- Funktsiya chaqiruvlari orasida holatni saqlash imkonini beradi.
- Maxfiy o'zgaruvchilar va inkapsulyatsiya yaratish uchun ishlatiladi.
- Ko'pincha asinxron dasturlash va voqea ishlovchilarda qo'llaniladi.
Swiftda misol:
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Bu yerda yopiq total o'zgaruvchisini chaqiruvlar orasida saqlaydi, bu esa qiymatni yig'ishga imkon beradi.