Junior — Middle
V čem se liší funkce apply a let v kontextu rozsahu a použití v Kotlinu?
sobes.tech AI
Odpověď od 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, возвращается результат лямбды.