溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

golang中的 '...'符號(hào)的意思和使用方法

發(fā)布時(shí)間:2020-11-10 14:35:28 來(lái)源:億速云 閱讀:336 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

golang中的 '...'符號(hào)的意思和使用方法?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

‘…' 其實(shí)是go的一種語(yǔ)法糖。
它的第一個(gè)用法主要是用于函數(shù)有多個(gè)不定參數(shù)的情況,可以接受多個(gè)不確定數(shù)量的參數(shù)。
第二個(gè)用法是slice可以被打散進(jìn)行傳遞。

下面直接上例子:

func test1(args ...string) { //可以接受任意個(gè)string參數(shù)
  for _, v:= range args{
    fmt.Println(v)
  }
}

func main(){
var strss= []string{
    "qwr",
    "234",
    "yui",
    "cvbc",
  }
  test1(strss...) //切片被打散傳入
}

結(jié)果:

qwr
234
yui
cvbc

其中strss切片內(nèi)部的元素?cái)?shù)量可以是任意個(gè),test1函數(shù)都能夠接受。

第二個(gè)例子:

var strss= []string{
    "qwr",
    "234",
    "yui",

  }
  var strss2= []string{
    "qqq",
    "aaa",
    "zzz",
    "zzz",
  }
strss=append(strss,strss2...) //strss2的元素被打散一個(gè)個(gè)append進(jìn)strss
fmt.Println(strss)

結(jié)果:

[qwr 234 yui qqq aaa zzz zzz]

如果沒(méi)有'…',面對(duì)上面的情況,無(wú)疑會(huì)增加代碼量,有了'…',是不是感覺(jué)簡(jiǎn)潔了許多

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI