Функция downTo

Функция downTo является инфиксной функцией-расширением для числовых типов и создает прогрессию целых чисел в порядке убывания. Прогрессия включает начальное и конечное значение. Функция может быть применена к типам Int, Long, Byte, Short и Char. По умолчанию шаг прогрессии равен -1.

Импорт

kotlin// Функция доступна без импорта, входит в стандартную библиотеку Kotlin

Синтаксис

kotlin// Для Int
infix fun Int.downTo(to: Int): IntProgression

// Для Long
infix fun Long.downTo(to: Long): LongProgression

// Для Byte
infix fun Byte.downTo(to: Byte): IntProgression

// Для Short
infix fun Short.downTo(to: Short): IntProgression

// Для Char
infix fun Char.downTo(to: Char): CharProgression

Пример

Создание прогрессии от 5 до 1:

kotlinfun main() {
  for (i in 5 downTo 1) {
    print("$i ")
  }
}

Результат выполнения кода:

kotlin5 4 3 2 1

Пример

Использование downTo с символами:

kotlinfun main() {
  for (char in 'E' downTo 'A') {
    print("$char ")
  }
}

Результат выполнения кода:

kotlinE D C B A

Пример

Использование downTo с шагом:

kotlinfun main() {
  for (i in 10 downTo 1 step 2) {
    print("$i ")
  }
}

Результат выполнения кода:

kotlin10 8 6 4 2

Пример

Создание прогрессии и преобразование в список:

kotlinfun main() {
  val progression = 5 downTo 1
  val list = progression.toList()
  println("Progression: $progression")
  println("List: $list")
}

Результат выполнения кода:

kotlinProgression: 5 downTo 1
List: [5, 4, 3, 2, 1]

Пример

Использование downTo с Long:

kotlinfun main() {
  for (i in 100L downTo 95L) {
    print("$i ")
  }
}

Результат выполнения кода:

kotlin100 99 98 97 96 95

Смотрите также

  • функцию rangeTo,
    которая создает диапазон значений
  • функцию rangeUntil,
    которая создает диапазон не включая конечное значение