继Python ... Es6 ...之后,Golang的...也来了。
在golang中,三个点“...”其实是go的一种语法糖(糖衣语法)。使用方法主要有如下两种:
1、用于函数有多个不定参数的情况,表示为可变参数,可以接受任意个数但相同类型的参数。
2、slice可以被打散进行传递。
示例如下:
//第一个示例:
func test1(args ...string) { //可以接受任意个string参数,此处为用法1
for _, v:= range args{
fmt.Println(v)
}
}
func main(){
var strss= []string{
"qwr",
"234",
"yui",
"cvbc",
}
test1(strss...) //切片被打散传入,此处为用法2
}
/*
输出结果为:
qwr
234
yui
cvbc
*/
//第二个示例:
var strss= []string{
"qwr",
"234",
"yui",
}
var strss2= []string{
"qqq",
"aaa",
"zzz",
"zzz",
}
strss=append(strss,strss2...) //strss2的元素被打散一个个append进strss
fmt.Println(strss)