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 αυτού του τύπου.