主题
可变参数
可变参数允许函数接受任意数量的同类型参数,使用语法 ...
表示。
1. 可变参数定义
go
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
2. 调用示例
go
result := sum(1, 2, 3, 4, 5)
fmt.Println(result) // 输出:15
也可以传入切片,使用展开操作符 ...
:
go
numbers := []int{1, 2, 3}
result := sum(numbers...)
3. 可变参数与普通参数
可变参数必须是函数参数列表的最后一个:
go
func printMsg(prefix string, msgs ...string) {
fmt.Println(prefix)
for _, msg := range msgs {
fmt.Println(msg)
}
}
可变参数增强函数的适用范围,方便处理不确定数量的输入。