for 루프를 사용하면 쌍(Pair나 Triple 등을 ‘쌍’이라고 하며, ‘튜플(tuple)’이라고도 부른다)이나 다른 data 클래스의 객체로 이뤄진 Map 또는 List에 대해 이터레이션하면서 값의 각 부분을 구조 분해로 얻을 수 있다.
Destructuring/ForLoop.kt
import atomictest.eq
fun main() {
var result = ""
val map = mapOf(1 to "one", 2 to "two")
for ((key, value) in map) {
result += "$key = $value, "
}
result eq "1 = one, 2 = two,"
result = ""
val listOfPairs =
listOf(Pair(1, "one"), Pair(2, "two"))
for ((i, s) in listOfPairs) {
result += "($i, $s), "
}
result eq "(1, one), (2, two),"
}