详解golang中的不定参数
时间:2019-12-07 09:21
不定参数是指函数传入的参数个数为不定数量。 一、函数定义 首先来看如何定义一个不定参数的函数: 该函数定义,定义了一个接受任何数目任何类型参数的函数。这里特殊的语法是三个点“ 二、“...” 上面我们看到有三个点"..."的特殊标记。那么这三个点"..."有啥作用呢? 2.1 不定参数 如上所述,在定义不定参数时,表示从该参数开始记录不定参数 2.2 解引用slice 当要传递若干个值到不定参数函数中得时候,可以手动书写每个参数,也可以将一个slice传递给该函数: 通过" 这里要注意的是,解引用slice目前只能在不定参数函数传递参数时使用,在其他地方使用会报错。 三、遍历参数 下面我们来看一个实例: 这里我们看到的结果是,首先一个完整的list,然后是每个元素: 通过配合使用 相关文章教程推荐:golang教程 以上就是详解golang中的不定参数的详细内容,更多请关注gxlsystem.com其它相关文章!func YourFun(v... interface{}){
}
...
”,在一个变量后面加上三个点后,表示从该处开始接受不定参数,不同于python,golang的不定参数如果将这里"interface{}
" 替换成某一确定类型,那么其就只能接受该类型的不定参数。YourFunc (YourSlice...)
...
"可以将slice中得参数对应的传递给函数。相当于python中得“*args”。func P (v... string) {
for _,item := range v {
fmt.Println("item:",item)
}
}
func main() {
var l []string
l = append(l,"a")
l = append(l,"b")
fmt.Println("l is ",l)
P(l...)
}
l is [a b]
item: a
item: b
for...range
可以遍历不定参数v中得每个参数。这里我们将不定参数类型设为string,因此只能接受若干的string 类型的参数。