Sobes.tech
Junior — Middle

lazy() fonksiyonunun çağrısı hangi bağlamda yapılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Android'de (çoğunlukla Kotlin bağlamında) lazy() fonksiyonu, değişkenlerin tembel (lazy) başlatılması için kullanılır. lazy() fonksiyonunun çağrısı, özelliğin tanımlandığı anda gerçekleşir, ancak lazy'ye geçirilen lambda, bu özelliğe ilk erişimde çalıştırılır. Bu nedenle, lazy içindeki kod, değere ilk erişimde çalışır, nesne veya sınıf oluşturulurken değil.

Örnek:

val myValue: String by lazy {
    println("Değer hesaplanıyor")
    "Merhaba, Dünya!"
}

fun main() {
    println("İlk erişimden önce")
    println(myValue) // Burada lazy içindeki lambda çağrılır
    println(myValue) // Değer zaten hesaplandığı için lambda çağrılmaz
}

Bu örnekte, lazy içindeki lambda, myValue'ya ilk erişimde sadece bir kez çalıştırılır.