Some functions are variadic, which is a fancy way of saying they accept any number of parameters of the same type. The print()
function is actually variadic: if you pass lots of parameters, they are all printed on one line with spaces between them:
print("Haters", "gonna", "hate")
You can make any parameter variadic by writing ...
after its type. So, an Int
parameter is a single integer, whereas Int...
is zero or more integers – potentially hundreds.
Inside the function, Swift converts the values that were passed in to an array of integers, so you can loop over them as needed.
To try this out, let’s write a square()
function that can square many numbers:
func square(numbers: Int...) {
for number in numbers {
print("\(number) squared is \(number * number)")
}
}
Now we can run that with lots of numbers just by passing them in separated by commas:
square(numbers: 1, 2, 3, 4, 5)
SPONSORED Debug 10x faster with Proxyman. Your ultimate tool to capture HTTPs requests/ responses, natively built for iPhone and macOS. You’d be surprised how much you can learn about any system by watching what it does over the network.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.