… 用法
1.‘…’ 其實是go的一種語法糖。
它的第一個用法主要是用於函式有多個不定引數的情況,可以接受多個不確定數量的引數。
2.第二個用法是slice可以被打散進行傳遞
例子1:
其實可以理解為切片的變體
func test1(args ...string) { //可以接受任意個string引數
for _, v:= range args{
fmt.Println(v)
}
}
func test2(params []string) { //可以接受任意個string引數
for _, v:= range params{
fmt.Println(v)
}
}
func main() {
var strss= []string{"donglei1", "donglei2"}
test1(strss...) //切片被打散傳入
fmt.Println("-------------")
test2(strss)
os.Exit(300)
}
//返回結果
donglei1
donglei2
-------------
donglei1
donglei2
常用案例解釋
當一個切片加上 … (a…) 相當於把一個切片打散成多個變數,每個變數是切片的一個元素
當…加上變數 (…a) 相當於把傳過來的多個引數變數整合為一個 切片,名字叫做a
func main() {
strss1 := []string{
"donglei1",
"donglei2",
}
var strss2= []string{
"donglei3",
"donglei4",
}
strings := append(strss1, strss2...)
fmt.Println(strings)
strings2 := append(strings, "donglei5","donglei6")
fmt.Println(strings2)
os.Exit(300)
}
//
[donglei1 donglei2 donglei3 donglei4]
[donglei1 donglei2 donglei3 donglei4 donglei5 donglei6]
本作品採用《CC 協議》,轉載必須註明作者和本文連結