在 Go 语言中,变长参数(variadic parameters)允许函数接受可变数量的参数。变长参数在函数定义中使用 ...
语法,并且在函数内部表现为一个切片。
变长参数的定义和使用
定义变长参数
在函数定义中,变长参数必须是参数列表中的最后一个参数,并且其类型前面要加上 ...
。例如:
func myFunction(a int, b ...int) {
// b 是一个 int 类型的切片
}
调用变长参数
在调用函数时,可以传递任意数量的参数给变长参数:
myFunction(1) // b 为空
myFunction(1, 2) // b 包含一个元素 [2]
myFunction(1, 2, 3) // b 包含两个元素 [2, 3]
示例
以下是一个典型的示例,展示了如何定义和使用变长参数:
package main
import "fmt"
// sum 函数接受一个变长参数 b
func sum(a int, b ...int) int {
total := a
for _, v := range b {
total += v
}
return total
}
func main() {
fmt.Println(sum(1)) // 输出: 1
fmt.Println(sum(1, 2)) // 输出: 3
fmt.Println(sum(1, 2, 3, 4)) // 输出: 10
}
网友评论