go中可变参数列表允许函数接受任意数量的参数,存放在切片中。可接受的类型包括基本类型、指针类型、接口类型、切片类型和符合条件的结构体。例如,sum函数计算传递给它的所有整数的和,可变参数列表必须是函数参数列表中的最后参数。

Go 中可变参数列表
可变参数列表允许函数接受任意数量的参数。这些参数存储在切片中,以便在函数内部访问。
可以传递给可变参数列表的参数类型
立即学习“go语言免费学习笔记(深入)”;
Go 中的可变参数列表可以接收以下类型参数:
- 任何基本类型(如
int、float64、string) - 指针类型(如
*int、*[]string) - 接口类型(如
interface{}) - 切片类型(但需要明确指定元素类型)
- 其他可变参数列表
- 结构体(如果结构体的字段类型满足上述类型)
实战案例
考虑以下函数,它计算传递给它的所有整数的和:
func sum(numbers ...int) int {
sum := 0
for _, num := range numbers {
sum += num
}
return sum
}这个函数可以这样调用:
result := sum(1, 2, 3, 4, 5) // result 为 15
注意: 可变参数列表必须是函数参数列表中的最后参数。










