Sobes.tech
Junior — Middle

lazy() funksiyasının çağırılması hansı kontekstdə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Android-də (əksər hallarda Kotlin kontekstində) lazy() funksiyası dəyişənlərin tənbəl (lazy) başlanması üçün istifadə olunur. lazy() funksiyasının çağırışı, xüsusiyyətin təyin olunduğu zaman baş verir, lakin lazy-yə verilmiş lambda yalnız ilk dəfə bu xüsusiyyətə müraciət edildikdə icra olunur. Beləliklə, lazy daxilindəki kod, dəyərə ilk giriş zamanı icra olunur və obyekt və ya sinif yaradılarkən deyil.

Nümunə:

val myValue: String by lazy {
    println("Dəyər hesablanır")
    "Salam, Dünya!"
}

fun main() {
    println("İlk girişdən əvvəl")
    println(myValue) // Burada lazy daxilindəki lambda çağırılır
    println(myValue) // Dəyər artıq hesablanıb, lambda yenidən çağırılmır
}

Bu nümunədə, lazy daxilindəki lambda yalnız bir dəfə, ilk girişdə icra olunacaq.