語(yǔ)法糖(Syntactic sugar),也譯為糖衣語(yǔ)法,是由英國(guó)計(jì)算機(jī)科學(xué)家彼得·約翰·蘭達(dá)(Peter J. Landin)發(fā)明的一個(gè)術(shù)語(yǔ),指計(jì)算機(jī)語(yǔ)言中添加的某種語(yǔ)法,這種語(yǔ)法對(duì)語(yǔ)言的功能并沒(méi)有影響,但是更方便程序員使用。通常來(lái)說(shuō)使用語(yǔ)法糖能夠增加程序的可讀性,從而減少程序代碼出錯(cuò)的機(jī)會(huì)。
下面通過(guò)例子看下Go語(yǔ)法糖之‘...' 的使用,具體內(nèi)容如下所示:
‘…' 其實(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...) //切片被打散傳入
}123456789101112131415
結(jié)果:
qwr
234
yui
cvbc1234
其中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)strssfmt.Println(strss)1234567891011121314
結(jié)果:
[qwr 234 yui qqq aaa zzz zzz]
如果沒(méi)有'…',面對(duì)上面的情況,無(wú)疑會(huì)增加代碼量,有了'…',是不是感覺(jué)簡(jiǎn)潔了許多
總結(jié)
以上所述是小編給大家介紹的Go語(yǔ)法糖之‘...' 的使用實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- golang中的三個(gè)點(diǎn) ''...''的用法示例詳解
- Goland 2020或2019軟件版本去掉a...或fmt...提示的方法
- Failed to execute goal org...的解決辦法
- 深入淺析Go中三個(gè)點(diǎn)(...)用法