简述一下Golang中的可变参数 ?

在 Go 语言中,函数可以通过使用可变参数来接收任意数量的参数。可变参数函数在参数列表的最后一个参数类型之前使用省略号 ... 来表示。

例如,我们可以创建一个接收任意数量整数的函数,然后计算这些整数的总和:

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

在上面的例子中,nums 是一个 int 类型的切片,它可以接收任意数量的 int 参数。然后我们可以通过 range 关键字来遍历所有参数,并计算它们的总和。

可变参数函数可以像正常函数一样被调用,参数之间用逗号分隔:

fmt.Println(sum(1, 2, 3, 4))  // 输出 10

如果你已经有了一个切片,并想将它作为可变参数传递给函数,你可以在切片后面添加 ... 来展开切片:

nums := []int{1, 2, 3, 4}
fmt.Println(sum(nums...))  // 输出 10

注意,一个函数最多只能有一个可变参数,并且这个参数必须是函数参数列表中的最后一个参数。

发表评论

后才能评论