Go 中的可选参数
Jay Singh
2023年1月30日
variadic
函数在调用时具有可变数量的参数。它可以与零个或多个参数一起使用。
省略号 ...
可以在参数之前定义变量函数。
在 Go 中使用 variadic
函数传递可选参数
该函数将接受任意数量的整数
作为输入。如果切片中已经有许多 args
,请使用 func(slice...)
将它们应用于 variadic
函数。
package main
import "fmt"
func sum(nums ...int) {
fmt.Print(nums, " ")
total := 0
for _, num := range nums {
total += num
}
fmt.Println(total)
}
func main() {
sum(1, 2)
sum(1, 2, 3)
nums := []int{1, 2, 3, 4}
sum(nums...)
}
输出:
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
在 Go 中使用 variadic
函数传递多个字符串
提供给 s
参数的参数数量没有限制。树点省略号通知编译器该字符串可以具有从零到多个的任意数量的值。
package main
import "fmt"
func main() {
variadic()
variadic("white", "black")
variadic("white", "black", "blue")
variadic("white", "black", "blue", "purple")
}
func variadic(s ...string) {
fmt.Println(s)
}
输出:
[]
[white black]
[white black blue]
[white black blue purple]
让我们编写一个程序,当他们的名字被提供给函数时向他们打招呼:
package main
import "fmt"
func main() {
sayHello()
sayHello("Jay")
sayHello("Jessica", "Mark", "Jonas")
}
func sayHello(names ...string) {
for _, n := range names {
fmt.Printf("Hello %s\n", n)
}
}
输出:
Hello Jay
Hello Jessica
Hello Mark
Hello Jonas