Что такое with {}

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

Ответ

with — это функция-расширение Kotlin, которая позволяет выполнить блок кода в контексте переданного объекта. Внутри блока this ссылается на объект, а результат — последнее выражение в блоке.

Пример:

val text = with(StringBuilder()) {
    append("Hello")
    append(", ")
    append("world!")
    toString() // результат
}
// text = "Hello, world!"

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

  • Не изменяет исходный объект (в отличие от apply).
  • Возвращает результат блока, а не объект.
  • Упрощает работу с объектами, требующими множественных операций.