简述一下Golang中的可变参数 ?
在 Go 语言中,函数可以通过使用可变参数来接收任意数量的参数。可变参数函数在参数列表的最后一个参数类型之前使用省略号 ...
来表示。
例如,我们可以创建一个接收任意数量整数的函数,然后计算这些整数的总和:
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
在上面的例子中,nums
是一个 int
类型的切片,它可以接收任意数量的 int
参数。然后我们可以通过 range
关键字来遍历所有参数,并计算它们的总和。
可变参数函数可以像正常函数一样被调用,参数之间用逗号分隔:
fmt.Println(sum(1, 2, 3, 4)) // 输出 10
如果你已经有了一个切片,并想将它作为可变参数传递给函数,你可以在切片后面添加 ...
来展开切片:
nums := []int{1, 2, 3, 4}
fmt.Println(sum(nums...)) // 输出 10
注意,一个函数最多只能有一个可变参数,并且这个参数必须是函数参数列表中的最后一个参数。