Junior — Middle
Може ли да се извършва сравнение на обекти от тип Optional в кода?
sobes.tech AI
Отговор от AI
В 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 от този тип.