..
Kotlin에서 ..
연산자는 **범위(range)**를 생성할 때 사용됩니다.
CharRange
, IntRange
, LongRange
등 다양한 타입에서 활용할 수 있습니다.
val chars = 'a'..'c'
println("chars type: ${chars::class}")
println("chars: $chars")
출력 결과:
chars type: class kotlin.ranges.CharRange
chars: a..c
'a'..'c'
는 CharRange
객체를 생성합니다.
for (it in chars.iterator()) {
println("it: $it")
}
출력 결과:
it: a
it: b
it: c
CharRange
는 Iterable<Char>
를 구현하고 있어 iterator()
를 통해 순회할 수 있습니다.withIndex()
for ((index, ch) in chars.withIndex()) {
println("$index: = $ch")
}
출력 결과:
0: = a
1: = b
2: = c
withIndex()
는 IndexedValue(index, value)
를 생성하는 lazy iterable을 반환합니다.for ((i, v) in ...)
문법으로 구조 분해(destructuring) 가능