Golang 中的可变参数(variadic function)是什么?如何使用?

可变参数是指一个函数的参数数量不固定,可以接受任意数量的参数,这些参数会被打包成一个切片(slice)。在 Golang 中,我们可以使用 …type 表示可变参数,其中 type 为参数的类型。使用可变参数可以更加灵活地定义函数,避免函数重载的复杂性。

示例代码:

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)) // 10
}