Kotlin
Destructuring & 구조 분해
컴포넌트 함수를 통해 객체를 여러 변수로 한 번에 분해합니다.
// Pair, Triple
val pair = Pair("Kotlin", 2024)
val (lang, year) = pair
println("$lang $year")
// data class는 자동으로 componentN() 생성
data class Point(val x: Int, val y: Int)
val (x, y) = Point(10, 20)
println("x=$x, y=$y")
// 특정 항목 무시: _
data class User(val id: Int, val name: String, val email: String)
val (_, name, _) = User(1, "Alice", "a@test.com")
println(name)
// Map 순회에서 destructuring
val map = mapOf("a" to 1, "b" to 2)
for ((key, value) in map) {
println("$key → $value")
}
// withIndex destructuring
listOf("x", "y", "z").forEachIndexed { idx, item ->
println("$idx: $item")
}