代码演示
package main
import "fmt"
func sum(nums ...int) {
fmt.Print(nums, " ")
totol := 0
for _, num := range nums {
totol += num
}
fmt.Println(totol)
}
func main() {
sum(1, 2)
sum(1, 2, 3)
nums := []int{1, 2, 3, 4}
sum(nums...)
}
代码运行结果
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
代码解读:
- 可变参数,就是在调用时候可以传入任意数量的参数
- 写法为func name(args ...type),这个函数接受任意数目的type类型的值作为参数
- 如果有一个含有多个值的切片slice,想把它们作为参数使用,就必须要这样调用 func(slice...)