Swift version: 5.10
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 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!
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.