Fork me on GitHub

Go ...用法

其实是go的一种语法糖。

用法1:

主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
func test(args ...string) { //可以接受任意个string参数
for _, v:= range args{
fmt.Println(v)
}
}

func main(){
var ss = []string{
"abc",
"123",
"efg",
"hello",
}
test(ss...) //切片被打散传入
}

输出:

1
2
3
4
abc
123
efg
hello
用法2:

slice可以被打散进行传递。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var s1= []string{
"aaa",
"111",
"bbb",
}

var s2 = []string{
"ccc",
"ddd",
"222",
"333",
}
s1 = append(s1, s2...) //s2的元素被打散一个个append进s1
fmt.Println(s1)

输出:

1
[aaa 111 bbb ccc ddd 222 333]
您的鼓励是我持之以恒的动力