Swift Academy · Урок

Замкнутые и полуоткрытые диапазоны

Корректно используйте ... и ..< в циклах и срезах.

Урок 1 из 413 шагов

«Замкнутые и полуоткрытые диапазоны» — бесплатный урок Swift Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.

Что такое диапазон

Диапазон представляет последовательность значений между нижней и верхней границами. В Swift для этого есть два основных оператора диапазона.

let r = 1...5
for n in r {
    print(n)
}

Замкнутый диапазон

Оператор замкнутого диапазона a...b включает обе границы. 1...5 содержит 1, 2, 3, 4 и 5.

for n in 1...5 {
    print(n)
}

Полуоткрытый диапазон

Оператор полуоткрытого диапазона a..<b включает нижнюю границу, но исключает верхнюю. 0..<5 содержит 0, 1, 2, 3 и 4.

for n in 0..<5 {
    print(n)
}

Почему часто используют полуоткрытые диапазоны

Полуоткрытые диапазоны идеально сочетаются с количеством элементов и индексами. 0..<array.count посещает каждый допустимый индекс ровно один раз.

let items = ["a", "b", "c"]
for i in 0..<items.count {
    print("\(i): \(items[i])")
}

У диапазонов есть свойство count

Диапазон знает, сколько значений он охватывает, благодаря своему свойству count.

let closed = 1...5
let halfOpen = 0..<5
print(closed.count)
print(halfOpen.count)

Проверка принадлежности

Используйте contains, чтобы проверить, находится ли значение в диапазоне.

let valid = 1...100
print(valid.contains(50))
print(valid.contains(0))
print(valid.contains(101))

Нижняя и верхняя границы

Каждый диапазон предоставляет свойства lowerBound и upperBound.

let r = 10...20
print(r.lowerBound)
print(r.upperBound)

Пустые и одноэлементные диапазоны

Полуоткрытый диапазон, например 5..<5, пуст. Замкнутый диапазон не может быть пустым, потому что обе его границы включены.

let empty = 5..<5
print(empty.isEmpty)
let single = 5...5
print(single.count)

Диапазоны в конструкции выбора

Диапазоны работают как шаблоны ветвей конструкции выбора и позволяют распределить значение по категориям.

let score = 73
switch score {
case 0..<60:
    print("Fail")
case 60...100:
    print("Pass")
default:
    print("Invalid")
}

Границы должны быть упорядочены

Нижняя граница не должна превышать верхнюю. Запись 5...1 вызывает сбой во время выполнения, поэтому располагайте границы в правильном порядке.

let lo = 2
let hi = 8
if lo <= hi {
    for n in lo...hi {
        print(n)
    }
}

Подсчёт итераций

Если нужно только повторить действие N раз и индекс не нужен, используйте диапазон с _.

var total = 0
for _ in 1...4 {
    total += 10
}
print(total)

Быстрая проверка

Проверьте замкнутые и полуоткрытые диапазоны.

Итоги: замкнутые и полуоткрытые диапазоны

a...b включает обе границы, а a..<b исключает верхнюю и естественно сочетается с количеством элементов и индексами. Диапазоны поддерживают count, contains и свойства границ.

for i in 0..<3 { print(i) }
Можно начать бесплатно

Изучай Swift с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
122
Уроки
409

Часто задаваемые вопросы

Урок «Замкнутые и полуоткрытые диапазоны» бесплатный?

Да — полный текст урока «Замкнутые и полуоткрытые диапазоны» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.

Чему я научусь в уроке «Замкнутые и полуоткрытые диапазоны»?

Корректно используйте ... и ..< в циклах и срезах. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Замкнутые и полуоткрытые диапазоны»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Замкнутые и полуоткрытые диапазоны
  2. Односторонние диапазоны
  3. Подсчёт с помощью stride(from:to:by:)
  4. Диапазоны как коллекции
← Назад к Swift Academy