Что такое функция для деструктуризации

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

Ответ

Функция деструктуризации позволяет разбирать объекты или массивы на отдельные переменные прямо в параметрах функции. Это упрощает доступ к нужным свойствам/элементам без лишнего кода.

Пример с объектом:

data class User(val name: String, val age: Int)

fun printUser({name, age}: User) {
    println("$name is $age years old")
}

Пример с массивом:

fun printCoordinates([x, y]: Array<Int>) {
    println("Coordinates: ($x, $y)")
}

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

  • Работает с data-классами в Kotlin
  • Можно пропускать ненужные элементы через _
  • Поддерживает значения по умолчанию
  • Полезно для обработки JSON и других структур данных