Go 语言中,如果我们不确定函数需要接收多少个参数,就可以使用可变参数来解决这一问题。可变参数在 Go 语言中称为可变参数函数(Variadic Functions),它可以接受任意数量的相同类型的参数。下面是一个使用可变参数函数的示例:
package main
import "fmt"
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
fmt.Println(sum()) // 输出 0
}
在上面的示例中,我们定义了一个 sum
函数,该函数使用 ...int
来表示可变参数。这个 ...int
实际上是一个切片(slice),它可以包含任意数量的 int
类型的元素。在函数体内,我们可以像操作一个普通的切片一样进行循环,来处理函数参数。
在 main
函数中,我们分别传入了三个参数、四个参数和零个参数来调用 sum
函数,并分别输出了它们的返回值。
总结:
- 可变参数函数可以接受任意数量的相同类型的参数。
- 在函数体内,可变参数被当做一个切片来处理。
- 可变参数函数在实现一些基础库函数时非常有用。