Go語法糖之‘...’ 的使用實(shí)例詳解
語法糖(Syntactic sugar),也譯為糖衣語法,是由英國計(jì)算機(jī)科學(xué)家彼得·約翰·蘭達(dá)(Peter J. Landin)發(fā)明的一個(gè)術(shù)語,指計(jì)算機(jī)語言中添加的某種語法,這種語法對語言的功能并沒有影響,但是更方便程序員使用。通常來說使用語法糖能夠增加程序的可讀性,從而減少程序代碼出錯(cuò)的機(jī)會。
下面通過例子看下Go語法糖之‘...' 的使用,具體內(nèi)容如下所示:
‘…' 其實(shí)是go的一種語法糖。
它的第一個(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]
如果沒有'…',面對上面的情況,無疑會增加代碼量,有了'…',是不是感覺簡潔了許多
總結(jié)
以上所述是小編給大家介紹的Go語法糖之‘...' 的使用實(shí)例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
go實(shí)現(xiàn)一個(gè)分布式限流器的方法步驟
項(xiàng)目中需要對api的接口進(jìn)行限流,本文主要介紹了go實(shí)現(xiàn)一個(gè)分布式限流器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
xorm根據(jù)數(shù)據(jù)庫生成go model文件的操作
這篇文章主要介紹了xorm根據(jù)數(shù)據(jù)庫生成go model文件的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
golang有用的庫及工具 之 zap.Logger包的使用指南
這篇文章主要介紹了golang有用的庫及工具 之 zap.Logger包的使用指南,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
golang框架gin的日志處理和zap lumberjack日志使用方式
這篇文章主要介紹了golang框架gin的日志處理和zap lumberjack日志使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
golang使用grpc+go-kit模擬oauth認(rèn)證的操作
這篇文章主要介紹了golang使用grpc+go-kit模擬oauth認(rèn)證的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
詳解Golang如何優(yōu)雅判斷interface是否為nil
這篇文章主要為大家詳細(xì)介紹了Golang如何優(yōu)雅判斷interface是否為nil的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解下2024-01-01

