Go 中的可选参数
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
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。