首頁 >後端開發 >Golang >golang中...是什麼意思?

golang中...是什麼意思?

青灯夜游
青灯夜游原創
2019-12-23 14:19:1510410瀏覽

golang中...是什麼意思?

golang中...是什麼意思?

在golang中,三個點「...」其實是go的一種語法糖(糖衣語法)。

語法糖(Syntactic sugar)也譯為糖衣語法,是由英國計算機科學家彼得·約翰·蘭達(Peter J. Landin)發明的術語,指計算機語言中添加的某種語法,這種語法對語言的功能並沒有影響,但是更方便程式設計師使用。通常來說使用語法糖能夠增加程式的可讀性,從而減少程式碼出錯的機會。

「…」的用法:

● 第一個用法主要是用於函數有多個不定參數的情況,表示為可變參數,可以接受任數但相同類型的參數。

● 第二個用法是slice可以被打散傳遞。

下面直接上範例:

func test1(args ...string) { //可以接受任意个string参数
    for _, v:= range args{
        fmt.Println(v)
    }
}
func main(){
var strss= []string{
        "qwr",
        "234",
        "yui",
        "cvbc",
    }
    test1(strss...) //切片被打散传入
}

結果:

qwr
234
yui
cvbc

其中strss切片內部的元素數量可以是任何個,test1函數都能夠接受。

第二個例子:

    var strss= []string{
        "qwr",
        "234",
        "yui",
    }
    var strss2= []string{
        "qqq",
        "aaa",
        "zzz",
        "zzz",
    }
strss=append(strss,strss2...) //strss2的元素被打散一个个append进strss
fmt.Println(strss)

結果:

[qwr 234 yui qqq aaa zzz zzz]

如果沒有“…”,面對上面的情況,無疑會增加程式碼量,有了'…',是不是感覺簡潔了許多

推薦學習:go視頻教程

以上是golang中...是什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn