可变参数

可变参数允许函数接受任意数量的同类型参数,使用语法 ... 表示。

1. 可变参数定义

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}

`

2. 调用示例

result := sum(1, 2, 3, 4, 5)
fmt.Println(result) // 输出:15

也可以传入切片,使用展开操作符 ...

numbers := []int{1, 2, 3}
result := sum(numbers...)

3. 可变参数与普通参数

可变参数必须是函数参数列表的最后一个:

func printMsg(prefix string, msgs ...string) {
    fmt.Println(prefix)
    for _, msg := range msgs {
        fmt.Println(msg)
    }
}

可变参数增强函数的适用范围,方便处理不确定数量的输入。