# How to make a variadic function

Swift version: 5.10

Paul Hudson    @twostraws

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
}

}``````

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 Join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer! Hurry up because it'll be available only until July 28th.

Sponsor Hacking with Swift and reach the world's largest Swift community!

Available from iOS 8.0 – learn more in my book Pro Swift

### About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.