Junior — Middle
In quale contesto viene eseguita la chiamata della funzione lazy()?
sobes.tech AI
Risposta dell'AI
La funzione lazy() in Android (più comunemente nel contesto di Kotlin) viene utilizzata per l'inizializzazione pigra delle variabili. La chiamata alla funzione lazy() avviene al momento della definizione della proprietà, ma la lambda passata a lazy viene eseguita solo al primo accesso a questa proprietà. In questo modo, il codice all'interno di lazy viene eseguito nel contesto del primo accesso al valore, e non durante la creazione dell'oggetto o della classe.
Esempio:
val myValue: String by lazy {
println("Calcolo del valore")
"Ciao, Mondo!"
}
fun main() {
println("Prima del primo accesso")
println(myValue) // Qui viene chiamata la lambda dentro lazy
println(myValue) // Il valore è già calcolato, la lambda non viene chiamata
}
In questo esempio, la lambda all'interno di lazy verrà eseguita solo una volta al primo accesso a myValue.