Swift version: 5.2
Variadic functions are functions that accept any number of parameters. The most common one in Swift is print()
– most people use it to print a single value, but you can actually pass as many as you want, like this:
print(1, 2, 3, 4, 5)
To make a variadic function of your own, just add ...
after any parameter. For example, we could write a sum()
function that accepts any number of integers and adds them together, like this:
func sum1(_ numbers: Int...) -> Int {
var total = 0
for number in numbers {
total += number
}
return total
}
Or if you wanted to write that functionally, you would use reduce()
:
func sum2(_ numbers: Int...) -> Int {
return numbers.reduce(0, +)
}
Notice how we specify Int...
rather than Int
– that means this function can be called using no integers, one integer, or even a hundred integers, and Swift will automatically convert them to be an array of integers inside the function.
So, it would be called like this:
let total = sum2(1, 2, 3, 4, 5)
SPONSORED ViRE offers discoverable way of working with regex. It provides really readable regex experience, code complete & cheat sheet, unit tests, powerful replace system, step-by-step search & replace, regex visual scheme, regex history & playground. ViRE is available on Mac & iPad.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0 – learn more in my book Pro Swift
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.