Junior — Middle
Mi a különbség az apply és let függvények között a Kotlinban a hatókör és a használat szempontjából?
sobes.tech MI
Válasz az MI-től
В 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, возвращается результат лямбды.