Операторы сравнения и идентичности
Сравнивайте значения с помощью ==, !=, , а идентичность — с помощью ===.
«Операторы сравнения и идентичности» — бесплатный урок Swift Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.
Операторы сравнения
Операторы сравнения задают вопрос с ответом «да» или «нет» и возвращают значение типа Bool. В Swift есть операторы ==, !=, <, >, <= и >=.
print(3 == 3)
print(5 != 2)
print(4 < 10)Равенство и неравенство
== проверяет, равны ли два значения; != проверяет, различаются ли они. Эти операторы работают с числами, строками и многими другими (other) типами.
let a = "swift"
let b = "Swift"
print(a == b)
print(a != b)Меньше и больше
< и > сравнивают порядок значений. Они лежат в основе сортировки и проверки диапазонов.
let temperature = 22
print(temperature > 18)
print(temperature < 0)Меньше или равно и больше или равно
<= и >= включают граничное значение. Они полезны, когда само пороговое значение тоже должно пройти проверку.
let score = 60
print("Pass:", score >= 60)
print("Perfect or less:", score <= 100)Сравнения в условиях
Результаты сравнений управляют операторами if и циклами, позволяя программе принимать решения.
let age = 17
if age >= 18 {
print("Adult")
} else {
print("Minor")
}Сравнение строк
Строки сравниваются лексикографически, то есть в словарном порядке, с использованием Unicode. == проверяет точное (exact) равенство.
print("apple" < "banana")
print("Zoo" < "apple")
print("cat" == "cat")Цепочки сравнений с логикой
Объединяйте сравнения с помощью логических операторов, чтобы выражать диапазоны, например проверять, попадает ли значение в заданные границы.
let value = 7
let inRange = value >= 1 && value <= 10
print("In range 1...10:", inRange)Типы-значения сравниваются по содержимому
Для типов-значений, таких как Int и String, оператор == сравнивает фактическое содержимое. Два структурно равных значения считаются равными.
let point1 = (x: 1, y: 2)
let point2 = (x: 1, y: 2)
print(point1 == point2)Идентичность ссылок с тройным равенством
Классы являются ссылочными типами. Оператор идентичности === проверяет, указывают ли две ссылки на exact один и тот же объект в памяти, а не совпадает ли их содержимое.
class Box { var n: Int; init(_ n: Int) { self.n = n } }
let x = Box(5)
let y = x
print(x === y)Неидентичность с тройным неравенством
!== является противоположностью ===. Два отдельных объекта с одинаковыми данными не являются идентичными.
class Box { var n: Int; init(_ n: Int) { self.n = n } }
let a = Box(5)
let b = Box(5)
print(a === b)
print(a !== b)Идентичность и равенство
Используйте === только с классами, чтобы проверить, является ли это тот же экземпляр. Для равенства значений используйте ==. Эти операторы отвечают на разные вопросы.
class Box { var n: Int; init(_ n: Int) { self.n = n } }
let first = Box(1)
let alias = first
let other = Box(1)
print("same object:", first === alias)
print("different object:", first === other)Быстрая проверка
Рассуждайте об идентичности и равенстве экземпляров классов.
Итоги: сравнение и идентичность
Вы изучили == != < > <= >= для проверки порядка и равенства, узнали, что типы-значения сравниваются по содержимому, а классы дополнительно поддерживают === и !== для проверки того, являются ли две ссылки ссылками на один экземпляр.
class Node { var v: Int; init(_ v: Int) { self.v = v } }
let n1 = Node(3)
let n2 = n1
print("equal value check:", n1.v == n2.v)
print("same instance:", n1 === n2)Изучай Swift с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 122
- Уроки
- 409
Часто задаваемые вопросы
Урок «Операторы сравнения и идентичности» бесплатный?
Да — полный текст урока «Операторы сравнения и идентичности» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.
Чему я научусь в уроке «Операторы сравнения и идентичности»?
Сравнивайте значения с помощью ==, !=, , а идентичность — с помощью ===. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Операторы сравнения и идентичности»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Арифметические операторы и операторы составного присваивания
- Операторы сравнения и идентичности
- Логические операторы и короткое замыкание
- Побитовые операторы и переполнение