# How to make a variadic function

Swift version: 5.1

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)``

LEARN SWIFTUI FOR FREE I have a massive, free SwiftUI video collection on YouTube teaching you how to build complete apps with SwiftUI – check it out!

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.