Variadic functions accept any number of values for one parameter.

Variadic Functions

variadic_functions.go
package main

import "fmt"

func sum(values ...int) int {
	total := 0
	for _, value := range values {
		total += value
	}
	return total
}

func main() {
	var bonus = 
	values := []int{2, 3, bonus}
	total := sum(values...)

	fmt.Println("values=", values)
	fmt.Println("total=", total)
}
package main

import "fmt"

func sum(values ...int) int {
	total := 0
	for _, value := range values {
		total += value
	}
	return total
}

func main() {
	var bonus = 
	values := []int{2, 3, bonus}
	total := sum(values...)

	fmt.Println("values=", values)
	fmt.Println("total=", total)
}
package main

import "fmt"

func sum(values ...int) int {
	total := 0
	for _, value := range values {
		total += value
	}
	return total
}

func main() {
	var bonus = 
	values := []int{2, 3, bonus}
	total := sum(values...)

	fmt.Println("values=", values)
	fmt.Println("total=", total)
}
variadic parameter A parameter written with `...` accepts zero or more values.