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)
TAKE YOUR SKILLS TO THE NEXT LEVEL If you like Hacking with Swift, you'll love Hacking with Swift+ – it's my premium service where you can learn advanced Swift and SwiftUI, functional programming, algorithms, and more. Plus it comes with stacks of benefits, including monthly live streams, downloadable projects, a 20% discount on all books, and more!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.