Golang教程:(十二)变参函数
原文:https://golangbot.com/variadic-functions/ 这是本Golang系列教程的第十二篇。 什么是变参函数?变参函数是指可以接受可变数量的参数的函数。 语法如果一个函数的最后一个参数由 请注意只有函数的最后一个参数才能指定为可变参数。 例子你有没有想过为什么 append 函数可以将任意数量的值追加到切片末尾?这是因为它是一个变参函数。 让我们来创建一个自己的变参函数。我们将编写一个程序来判断某个特定整数是否包含在某个整数列表中。 package main
import (
"fmt"
)
func find(num int,nums ...int) {
fmt.Printf("type of nums is %Tn",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() {
find(89, 89, 90, 95)
find(45, 56, 67, 45, 109)
find(78, 38, 98)
find(87)
}
上面的程序中, 第 10 行利用 range for 遍历 上面的程序输出如下: type of nums is []int
89 found at index 0 in [89 90 95]
type of nums is []int
45 found at index 2 in [56 67 45 90 109]
type of nums is []int
78 not found in [38 56 98]
type of nums is []int
87 not found in []
在第 25 行, 传递切片给可变参数我们已经提到 package main
import (
"fmt"
)
func find(num int,nums)
}
fmt.Printf("n")
}
func main() {
nums := []int{89, 95}
find(89,nums)
}
在第 23 行,我们没有将若干数量的参数传递给 这里有一个语法糖可以用来将切片传递给变参函数。可以在切片后面加 上面的程序如果将第23行的 type of nums is []int
89 found at index 0 in [89 90 95]
变参函数的介绍到此结束。感谢阅读。 目录 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |