Hello everyone, In this tutorial, we will show you how to create simple variadic functions in golang. The following example program has been tested and shared in the same post.

What is the Variadic functions?
The variadic functions are a really great feature or tool for programmers and it is supported by many programming languages. Variadic functions, which can be invoked with any numbers of trailing arguments and let`s see the syntax for creating variadic functions in golang.
Syntax
func func_name(variable_name ...datatype) { // implementation }
Creating a variadic functions in go
The below code snippet will give you an idea about, how to create variadic functions in go. What is the sum() function is doing? the sum() is function it is responsible to calculate the sum of the given numbers, which is passed as trailing arguments when it is called.
// variadic functions func sum(numbers ...int) int { var sum int = 0; for i := 0; i < len(numbers); i++ { sum += numbers[i] } return sum }
Complete Example
This complete example will give you a full view for defining and invoking the variadic function in the go programming language.
package main import "fmt" func main() { fmt.Println("Result:", sum(10)) // invoking with 1 arg fmt.Println("Result:", sum(10, 20)) // invoking with 2 args fmt.Println("Result:", sum(10, 20, 30)) // invoking with 3 args fmt.Println("Result:", sum(10, 20, 30, 40)) // invoking with 4 args fmt.Println("Result:", sum(10, 20, 30, 40)) // invoking with 5 args } func sum(numbers ...int) int { var sum int = 0; for i := 0; i < len(numbers); i++ { sum += numbers[i] } return sum }
Output
Result: 10 Result: 30 Result: 60 Result: 100 Result: 100
References
- https://golang.org/doc/
- https://golang.org/pkg/
- https://golang.org/pkg/fmt/
- https://golang.org/pkg/fmt/#Println
- https://en.wikipedia.org/wiki/Variadic_function
More from my site

Hello, folks, I am a founder of idineshkrishnan.com. I love open source technologies, If you find my tutorials are useful, please consider making donations to these charities.
No responses yet