Golang可變參數

Go 可變參數函數

語法

若是一個函數最後一個參數被標記爲…T,表示函數能夠接受一個可變的參數。code

好比,咱們想在nums中查找num是否存在:for循環

func find(num int, nums …int){
	
}

目的是經過find函數,在nums中查找num。原理

好比:循環

find(89,89,90,91)

會返回true。遍歷

原理

可變參數函數的原理是把可變參數轉換成一個新的切片。語法

上面例子中,就能夠變成for循環遍歷nums切片,查找num。co

若是可變參數沒有傳,則nums變成了一個長度爲0的nil切片。參數

既然咱們知道了可變參數會被轉換成切片,那麼經過go語法糖,能夠將一個存在的分配看成可變參數的參數。

經過在切片後加上…後綴完成,這樣傳入一個切片後,切片將不會再進行建立新分片的操做。

nums := []int{89,90,95}
find(89, nums…)
相關文章
相關標籤/搜索