[golang]golang 语法糖'...'三个点的用法

‘...’三个点是golang的一种语法糖,表示为可变参数,可以接受任意个数的参数。

示例一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package main

import "fmt"

func Greeting(prefix string, who ...string) {

    fmt.Println(prefix)
    for _, name := range who {
        fmt.Println(name)
    }

}
func main() {

    Greeting("Hello:", "tom", "mike", "jesse")

}
1
2
3
4
5
6
7
8
9
输出结果:

Hello:

tom

mike

jesse

示例二:

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

func main(){
var strss= []string{
        "qwr",
        "234",
        "yui",
        "cvbc",
    }
    test1(strss...) //切片被打散传入
}
1
2
3
4
5
结果
qwr
234
yui
cvbc