Go語(yǔ)法糖之‘...’ 的使用實(shí)例詳解
語(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)站的支持!
相關(guān)文章
go語(yǔ)言對(duì)文件按照指定塊大小進(jìn)行分割的方法
這篇文章主要介紹了go語(yǔ)言對(duì)文件按照指定塊大小進(jìn)行分割的方法,實(shí)例分析了Go語(yǔ)言文件操作的技巧,需要的朋友可以參考下2015-03-03go如何使用gin結(jié)合jwt做登錄功能簡(jiǎn)單示例
jwt全稱Json web token,是一種認(rèn)證和信息交流的工具,這篇文章主要給大家介紹了關(guān)于go如何使用gin結(jié)合jwt做登錄功能的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01go語(yǔ)言題解LeetCode1122數(shù)組的相對(duì)排序
這篇文章主要為大家介紹了go語(yǔ)言題解LeetCode1122數(shù)組的相對(duì)排序,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Go語(yǔ)言實(shí)現(xiàn)socket實(shí)例
這篇文章主要介紹了Go語(yǔ)言實(shí)現(xiàn)socket的方法,實(shí)例分析了socket客戶端與服務(wù)器端的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02