Можно ли выполнять сравнение объектов типа Optional в коде?

В Swift объекты типа Optional можно сравнивать между собой, если тип, который они оборачивают, поддерживает сравнение. Например, если у вас есть OptionalInt, то вы можете использовать операторы == и != для сравнения.

Короткий ответ

Что ответить на собеседовании

В Swift объекты типа Optional можно сравнивать между собой, если тип, который они оборачивают, поддерживает сравнение. Например, если у вас есть Optional<Int>, то вы можете использовать операторы == и != для сравнения.

Подробный разбор

Ответ с пояснениями

В Swift объекты типа Optional можно сравнивать между собой, если тип, который они оборачивают, поддерживает сравнение. Например, если у вас есть Optional<Int>, то вы можете использовать операторы == и != для сравнения.

Сравнение работает так:

  • Если оба значения nil, они считаются равными.
  • Если один nil, а другой нет — не равны.
  • Если оба не nil, сравниваются внутренние значения.

Пример:

let a: Int? = 5
let b: Int? = 5
let c: Int? = nil

print(a == b) // true
print(a == c) // false
print(c == nil) // true

Если тип не поддерживает сравнение, то сравнивать Optional этого типа напрямую нельзя.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее