Sobes.tech
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.