Swift Academy · Урок

Операторы сравнения и идентичности

Сравнивайте значения с помощью ==, !=, , а идентичность — с помощью ===.

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

«Операторы сравнения и идентичности» — бесплатный урок 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 — локальная установка не требуется.

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

  1. Арифметические операторы и операторы составного присваивания
  2. Операторы сравнения и идентичности
  3. Логические операторы и короткое замыкание
  4. Побитовые операторы и переполнение
← Назад к Swift Academy