Golang(变参函数)
变参函数是指可以接受可变数量的参数的函数。
语法
如果一个函数的最后一个参数由 ...T
表示,则表示该函数可以接受任意数量的类型为 T
的参数。...T
在内部表示类型为 []T
切片。
请注意:只有函数的最后一个参数才能指定为可变参数。
如果没有给可变参数传递任何值,则可变参数为 nil 切片,长度和容量都是0。
传递切片给可变参数
package mainimport (
"fmt"
)func find(num int, nums ...int) {
fmt.Printf("type of nums is %T\n", nums)
found := false
for i, v := range nums {
if v == num {
fmt.Println(num, "found at index", i, "in", nums)
found = true
}
}
if !found {
fmt.Println(num, "not found in ", nums)
}
fmt.Printf("\n")
}
func main() {
nums := []int{89, 90, 95}
find(89, nums...)
}
【Golang(变参函数)】这里有一个语法糖用来将切片传递给变参函数:可以在切片后面加
...
,这样会将切片展开为其中的各个元素并将它们传递给变参函数。推荐阅读
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 概率论/统计学|随机变量 的 分布函数 与 概率密度函数 的区别
- vue组件中为何data必须是一个函数()
- iOS-Swift-map|iOS-Swift-map filter reduce、函数式编程
- 三门问题(蒙提霍尔悖论)分析与Golang模拟
- R语言|R语言 函数
- 2018-05-30闭包和函数