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.