Swift gives us two ways of making ranges: the ..<
and ...
operators. The half-open range operator, ..<
, creates ranges up to but excluding the final value, and the closed range operator, ...
, creates ranges up to and including the final value.
For example, the range 1..<5
contains the numbers 1, 2, 3, and 4, whereas the range 1...5
contains the numbers 1, 2, 3, 4, and 5.
Ranges are helpful with switch
blocks, because you can use them for each of your cases. For example, if someone sat an exam we could print different messages depending on their score:
let score = 85
switch score {
case 0..<50:
print("You failed badly.")
case 50..<85:
print("You did OK.")
default:
print("You did great!")
}
As before, the default
case must be there to ensure all possible values are covered.
SPONSORED Alex is the iOS & Mac developer’s ultimate AI assistant. It integrates with Xcode, offering a best-in-class Swift coding agent. Generate modern SwiftUI from images. Fast-apply suggestions from Claude 3.5 Sonnet, o3-mini, and DeepSeek R1. Autofix Swift 6 errors and warnings. And so much more. Start your 7-day free trial today!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.