Back to questions
Junior — Middle
62
Чем отличаются функции apply и let в контексте области видимости и использования в Kotlin?
Companies where asked
NordClan
Answer from AI
sobes.tech AI
В 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, возвращается результат лямбды.