С какими scope функциями работал

«С какими scope функциями работал» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android работал с различными scope-функциями Kotlin, такими как let, run, with, apply и also.

  • let – для выполнения кода с объектом, возвращает результат лямбды.
    user?.let { println(it.name) }
  • run – как let, но с доступом к свойствам через this.
    val length = "text".run { length }
  • with – аналогично run, но не extension-функция.
    with(user) { println(name) }
  • apply – возвращает сам объект (this), удобен для инициализации.
    val user = User().apply { name = "Alex" }
  • also – как apply, но принимает объект как it.
    user.also { println("User: ${it.name}") }

Выбор зависит от контекста: let для null-проверок, apply/also для модификации, run/with для вычислений.