< Why does Swift have compound assignment operators? | What’s the difference between if and else if? > |
Updated for Xcode 13.3
Swift lets us compare many kinds of values out of the box, which means we can check a variety of values for equality and comparison. For example, if we had values such as these:
let firstName = "Paul"
let secondName = "Sophie"
let firstAge = 40
let secondAge = 10
Then we could compare them in various ways:
print(firstName == secondName)
print(firstName != secondName)
print(firstName < secondName)
print(firstName >= secondName)
print(firstAge == secondAge)
print(firstAge != secondAge)
print(firstAge < secondAge)
print(firstAge >= secondAge)
Behind the scenes, Swift implements this in a remarkably clever way that actually allows it to compare a wide variety of things. For example, Swift has a special type for storing dates called Date
, and you can compare dates using the same operators: someDate < someOtherDate
, for example.
We can even ask Swift to make our enums comparable, like this:
enum Sizes: Comparable {
case small
case medium
case large
}
let first = Sizes.small
let second = Sizes.large
print(first < second)
That will print “true”, because small
comes before large
in the enum case list.
SPONSORED Spend less time managing in-app purchase infrastructure so you can focus on building your app. RevenueCat gives everything you need to easily implement, manage, and analyze in-app purchases and subscriptions without managing servers or writing backend code.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.