"..." 其实是golang的一种语法糖。
- 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。
- 第二个用法是slice可以被打散进行传递。
用法一:函数的不定参数
package main
import "fmt"
func test1(args ...string) { //可以接收任意多个string参数
for index, value := range args{
fmt.Println(index, " : ", value)
}
}
func main() {
str := []string {
"ABC",
"DEF",
"GHI",
}
test1(str...) //切片被打散传入
}
运行结果:
0 : ABC
1 : DEF
2 : GHI
用法二:打散slice
package main
import "fmt"
func main() {
str := []string {
"ABC",
"DEF",
"GHI",
}
fmt.Println(str)
str = append(str[0:1], str[2:]...) //将slice打散然后合并,这里相当于删掉了第二个元素
fmt.Println(str)
}
运行结果:
[ABC DEF GHI]
[ABC GHI]