可变函数

题目:

对 add() 函数调用正确的是?

1
2
3
4
5
6
7
func add(args ...int) int {
sum := 0
for _, arg := range args {
sum += arg
}
return sum
}
  • A. add(1, 2)
  • B. add(1, 3, 7)
  • C. add([]int{1, 2})
  • D. add([]int{1, 3, 7}…)

答案解析:

参考答案及解析:ABD。

知识点:可变函数。在 Go 中,可变函数(Variadic Function)是一种特殊类型的函数,可以接受可变数量的参数。我们可以在函数定义中使用 ... 语法来表示可变参数,使得函数可以接受任意数量的参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
func sum(numbers ...int) int {
total := 0
for _, num := range numbers {
total += num
}
return total
}

func main() {
result := sum(1, 2, 3) // 调用可变函数并传递多个参数
fmt.Println(result) // 输出结果: 6

result = sum(4, 5, 6, 7, 8) // 调用可变函数并传递多个参数
fmt.Println(result) // 输出结果: 30

nums := []int{10, 20, 30} // 使用切片作为参数
result = sum(nums...) // 使用 ... 展开切片作为可变函数的参数
fmt.Println(result) // 输出结果: 60
}


可变函数
http://example.com/2023/06/27/Go每日一题/可变函数/
作者
Feng Tao
发布于
2023年6月27日
更新于
2023年6月27日
许可协议