我想知道是否有一种方法可以在 Go 中为未知数量的变量定义一个函数。
像这样的东西
func Add(num1... int) int {
return args
}
func main() {
fmt.Println("Hello, playground")
fmt.Println(Add(1, 3, 4, 5,))
}
我想Add
为任意数量的输入概括该函数。
我想知道是否有一种方法可以在 Go 中为未知数量的变量定义一个函数。
像这样的东西
func Add(num1... int) int {
return args
}
func main() {
fmt.Println("Hello, playground")
fmt.Println(Add(1, 3, 4, 5,))
}
我想Add
为任意数量的输入概括该函数。
据我所知,你已经明白了,但语法是...int
. 见规格:
给定函数和调用
func Greeting(prefix string, who ...string) Greeting("hello:", "Joe", "Anna", "Eileen")
在问候语中,
who
将具有价值[]string{"Joe", "Anna", "Eileen"}
使用可变参数时,您需要在函数内的数据类型中使用循环。
func Add(nums... int) int {
total := 0
for _, v := range nums {
total += v
}
return total
}
func main() {
fmt.Println("Hello, playground")
fmt.Println(Add(1, 3, 4, 5,))
}
可以使用任意数量的尾随参数调用可变参数函数。例如,fmt.Println
是一个常见的可变参数函数。
这是一个将任意数量的int
' 作为参数的函数。
package main
import (
"fmt"
)
func sum(nums ...int) {
fmt.Println(nums)
for _, num := range nums {
fmt.Print(num)
}
}
func main() {
sum(1, 2, 3, 4, 5, 6)
}
上述程序的输出:
[1 2 3 4 5 6]
1 2 3 4 5 6