2.9Kпросмотров
49.4%от подписчиков
4 августа 2025 г.
questionScore: 3.2K
Что такое мульти-декларации (destructuring declarations)? Мульти-декларации (destructuring declarations или деструктуризирующее присваивание) — это способ извлечения значений из объекта и присвоения их сразу нескольким переменным. В Kotlin этот механизм поддерживается с помощью оператора распаковки (destructuring operator) — componentN(), где N — номер компонента. При создании data класса Kotlin автоматически создает функции componentN() для каждого свойства класса, где N — номер позиции переменной в конструкторе. Функции componentN() возвращают значения свойств в порядке их объявления в конструкторе. Это позволяет использовать мульти-декларации для распаковки значений свойств и присваивания их отдельным переменным. Например, если у нас есть data класс Person с двумя свойствами name и age, мы можем использовать мульти-декларации, чтобы извлечь эти свойства и присвоить их двум переменным: data class Person(val name: String, val age: Int) val person = Person("Alice", 29)
val (name, age) = person println(name) // Alice
println(age) // 29 Также можно использовать мульти-декларации в циклах, чтобы итерироваться по спискам объектов и распаковывать значения свойств: val people = listOf(Person("Alice", 30), Person("Bob", 40))
for ((name, age) in people) { println("$name is $age years old")
} // Alice is 30 years old
// Bob is 40 years old Мульти-декларации также могут быть использованы с массивами и другими коллекциями: val list = listOf("apple", "banana", "orange")
val (first, second, third) = list println(first) // apple
println(second) // banana
println(third) // orange