В уроке вы ознакомитесь с передачей заранее неизвестного количества параметров в функцию через vararg. Также вы научитесь работать с циклами while, do while, а также for.
Видеоурок
При работе с функциями в Kotlin вы можете передавать неограниченное количество параметров при помощи ключевого слова vararg. Также в функциях можно указывать значения по-умолчанию для параметров и плюс можно менять их местами при передачи в функцию.
fun someFunc(num: Int = 3, vararg numbers: Float) {
numbers.forEach { el -> print("$el ") }
}
fun main(args: Array<String>) {
someFunc(num = 20, numbers = 4)
}
В языке Kotlin, как и в большинстве других языков, существует 3 вида циклов. Каждый из них выполняет одну и ту же роль, но записывается по-разному. Рассмотрим все три цикла.
Цикл For
В цикле for все условия записываются в одном месте, что очень удобно во многих случаях. Стандартная запись такого цикла выглядит следующим образом:
for (i in 0..5 step 2)
println("$i")
В объявлении цикла записывается следующее: переменная цикла, её начальное значение и диапазон. В примере выше будут выведены числа от 0 до 10.
Если в теле цикла всего одна строка кода, то фигурные скобки можно пропустить и не записывать их.
Цикл While
Суть цикла while не особо отличается от цикла for. Единственное отличие заключается в способе записи цикла. В while необходимо прописать лишь условие, а все остальные параметры записываются вне цикла:
var i = 1 // Создание переменной
while (i <= 10) { // Здесь только условие
println("$i")
i++ // Увеличение переменной
}
Цикл Do While
Цикл схож с циклом while по форме написания, но при этом работает немного по-другому. Цикл do..while будет выполнен один раз сто процентов, а дальше проверит условие и если оно верно, то цикл будет выполняться дальше:
var x = 13
do {
x--
println("$x")
} while (x > 10)
Как видно из примера, цикл изначально неверный, но это не мешает ему сработать один раз.
Операторы для работы в циклах
Существует два основных оператора для работы в циклах:
- Оператор
break— служит для выхода из цикла полностью; - Оператор
continue— пропускает лишь одну итерацию и не выходит из цикла.