可变参数可以通过在参数类型前加上省略号来定义。下面是一个简单的示例,它使用可变参数来计算一组数字的平均值:
func average(nums ...float64) float64 {
sum := 0.0
count := len(nums)
for _, num := range nums {
sum += num
}
return sum / float64(count)
}
func main() {
fmt.Println(average(1, 2, 3, 4, 5)) // 输出 3
fmt.Println(average(2.5, 7.5, 10.0)) // 输出 6.666666666666667
}
在函数 average
的参数列表中,nums ...float64
表示 nums
参数是一个可变参数,其类型为 float64
。当调用这个函数时,可以向它传递任意数量的 float64
值,它们会被自动封装成一个切片。
在函数体内,我们首先计算该切片的长度,然后使用 for
循环将其中的每个数字累加到 sum
变量中。最后,我们将 sum
除以 count
得到平均值,并将其作为函数的返回值。