在Go语言中,rest参数的作用是接收可变数量的参数。它是一种特殊的函数参数,可以接收任意数量的同类型参数。
rest参数使用三个点(...)作为前缀,放在函数定义的最后一个参数位置。当调用带有rest参数的函数时,可以传递任意数量的参数,这些参数会被作为切片传递给rest参数。
例如,下面是一个使用rest参数的函数示例:
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
func main() {
fmt.Println(sum(1, 2, 3)) // 输出:6
fmt.Println(sum(1, 2, 3, 4, 5)) // 输出:15
}
在上面的例子中,sum函数定义了一个rest参数nums,它可以接收任意数量的int类型参数。在调用sum函数时,可以传递任意数量的整数参数,它们会被作为切片传递给nums参数。函数内部使用range遍历nums切片,计算所有参数的总和并返回结果。