Ответ
Функция деструктуризации позволяет разбирать объекты или массивы на отдельные переменные прямо в параметрах функции. Это упрощает доступ к нужным свойствам/элементам без лишнего кода.
Пример с объектом:
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 и других структур данных