For циклы в Kotlin
Цикл for перебирает все, что предоставляет итератор. Это эквивалентно циклу foreach в таких языках, как C#. Синтаксис следующий:
for (item in collection) print(item)
Тело может быть блоком.
for (item: Int in ints) {
// ...
}
Как упоминалось выше, for выполняет итерацию всего, что предоставляет итератор, т.е.
- имеет функцию-член или функцию расширения iterator(), возвращаемый тип которого
- имеет функцию-член или функцию расширения next(), и
- имеет функцию-член или функцию расширения hasNext(), которая возвращает Boolean.
Все эти три функции необходимо пометить как operator.
Чтобы перебрать диапазон чисел, используйте выражение диапазона:
for (i in 1..3) {
println(i)
}
for (i in 6 downTo 0 step 2) {
println(i)
}
Цикл for по диапазону или массиву компилируется в цикл на основе индекса, который не создает объект-итератор.
Если вы хотите перебрать массив или список с индексом, вы можете сделать это следующим образом:
for (i in array.indices) {
println(array[i])
}
В качестве альтернативы вы можете использовать библиотечную функцию withIndex:
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
While циклы
while и do..while работают как обычно
while (x > 0) {
x--
}
do {
val y = retrieveData()
} while (y != null) // y видима здесь!
break и continue в циклах
Kotlin поддерживает традиционные операторы break и continue в циклах.
Читайте также:
Комментарии
Отправить комментарий