#6 — Параметры в функциях и циклы

Поділитись

В уроке вы ознакомитесь с передачей заранее неизвестного количества параметров в функцию через 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 — пропускает лишь одну итерацию и не выходит из цикла.

Поділитись