Junior — Middle
Czy można wykonywać porównania obiektów typu Optional w kodzie?
sobes.tech AI
Odpowiedź od AI
W Swift, obiekty typu Optional można porównywać ze sobą, jeśli typ, który zawierają, obsługuje porównanie. Na przykład, jeśli masz Optional<Int>, możesz używać operatorów == i != do porównania.
Porównanie działa tak:
- Jeśli oba wartości są
nil, są uważane za równe. - Jeśli jeden jest
nil, a drugi nie, nie są równe. - Jeśli oba nie są
nil, porównywane są ich wewnętrzne wartości.
Przykład:
let a: Int? = 5
let b: Int? = 5
let c: Int? = nil
print(a == b) // true
print(a == c) // false
print(c == nil) // true
Jeśli typ nie obsługuje porównania, nie można bezpośrednio porównywać Optional tego typu.