Для чего нужен ключевое слово out

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

Ответ

Ключевое слово out в Kotlin используется для указания, что параметр функции может быть изменён внутри этой функции и изменения будут видны снаружи. Это полезно, когда нужно вернуть несколько значений из функции.

Пример:

fun updateUser(user: User, out updatedName: String) {
    updatedName = "New Name" // изменяем значение параметра
}

fun main() {
    var name = ""
    updateUser(User(), name)
    println(name) // выведет "New Name"
}

Отличие от var:

  • out позволяет изменять параметр только внутри функции
  • Изменения видны вызывающему коду
  • Аналог out параметров в C#, но в Kotlin используется реже благодаря возможности возвращать data-классы или Pair/Triple