Sobes.tech
Junior — Middle

Kotlin'da 'by lazy' xususiyatining roli nima va qaysi holatlarda uning ishlatilishi ma'qul?

sobes.tech AI

AIdan javob

Kotlin'da, by lazy modifikatori bilan belgilangan xususiyat kechiktirilgan holda boshlanadi, ya'ni qiymati ob'ekt yaratish paytida emas, birinchi marta unga murojaat qilganda hisoblanadi. Bu, resurslar ko'p sarflaydigan yoki har doim kerak bo'lmagan holatlar uchun foydalidir.

Foydalanish misoli:

val heavyResource by lazy {
    println("Boshlash")
    "Natija"
}

fun main() {
    println("Oldin")
    println(heavyResource) // Bu yerda boshlash amalga oshadi
    println(heavyResource) // Takroran boshlash bo'lmaydi
}

Foydalanish holatlari:

  • Har doim kerak bo'lmagan ob'ektlarning kechiktirilgan boshlanishi.
  • Ishlash tezligini oshirish.
  • Ko'p ipli muhitda xavfsiz boshlanish (standartda lazy iplararo xavfsiz).