Junior — Middle
Quelle est la différence entre les fonctions apply et let dans le contexte de la portée et de l'utilisation en Kotlin?
sobes.tech IA
Réponse de l'IA
В Kotlin функции apply и let — это scope-функции, которые позволяют работать с объектами в определённом контексте, но отличаются по области видимости и возвращаемому значению.
applyвыполняет блок кода с объектом какthisи возвращает сам объект. Часто используется для инициализации объектов.
val person = Person().apply {
name = "Иван"
age = 30
}
// person — это объект Person с установленными свойствами
letвыполняет блок с объектом какitи возвращает результат блока. Удобна для обработки nullable-значений и цепочек вызовов.
val nameLength = person.name?.let {
println(it)
it.length
}
// nameLength — длина имени или null, если name == null
Итого:
apply: объект доступен какthis, возвращается объект.let: объект доступен какit, возвращается результат лямбды.