Sobes.tech
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, возвращается результат лямбды.