这里有一个函数将任意数量的int
作为参数。可变参数的函数可以通过单独的参数以通常的方式调用。
如果已经在一个切片中有多个参数,使用func(slice ...)
函数
package main import "fmt" func sum(nums ...int) { fmt.Print(nums," ") total := 0 for _, num := range nums { total += num } fmt.Println(total) } func main() { // Variadic functions can be called in the usual way // with individual arguments. sum(1, 5) sum(1, 5, 3) // If you already have multiple args in a slice, // apply them to a variadic function using // `func(slice...)` like this. nums := []int{1, 5, 3, 4} sum(nums...) }
执行上面代码,将得到以下输出结果 -
[1 5] 6
[1 5 3] 9
[1 5 3 4] 13