Kotlin - for/while Loops

Language/Kotlin 2018.07.24 00:17 posted by TechNote.kr


for Loops



for loop은 iterator를 제공하는 매개체를 통해 반복적으로 무엇인가를 수행할 때 사용된다. C#의 foreach loop와 동일하다. 


간단한 사용의 예를 다음과 같다. 


for (item in collection) print(item)
for (item: Int in ints) {
    // ...
}


앞서 말했듯이 일반적으로 iterator() funtion을 member/extension function으로 가지고 있고, next(), hasNext()를 지원하는 매개체를 통해서 반복하게 된다. 


반면 iterator가 없어도 사용 가능한 경우가 있는데, range나 array/list를 사용할 때 가능하다. 


숫자 범위내에서 반복할 때는 range expression을 아래와 같이 사용한다. 

for (i in 1..3) {
    println(i)
}
for (i in 6 downTo 0 step 2) {
    println(i)
}


array를 사용하는 경우는 다음과 같다. 


for (i in array.indices) {
    println(array[i])
}


array 사용시 withIndex library function을 사용하기도 한다. 

for ((index, value) in array.withIndex()) {
    println("the element at $index is $value")
}



while Loops



while 이나 do..while의 경우 다른 언어에서와 마찬가지로 사용된다. 


while (x > 0) {
    x--
}
do {
    val y = retrieveData()
} while (y != null) // y is visible here!