Что такое run {}

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

Ответ

run {} — это scope-функция в Kotlin, которая позволяет выполнить блок кода в контексте объекта и вернуть результат последнего выражения.

Особенности:

  • Работает с this (контекст — объект, у которого вызван)
  • Возвращает результат лямбды
  • Часто используется для инициализации или выполнения операций над объектом

Пример:

val result = "Hello".run {
    println(this) // "Hello"  
    length // вернёт 5  
}  

Отличие от let:
run использует this, а letit. run удобен, когда не нужно переименовывать контекст.