一般函數(shù)的參數(shù)都是定長(zhǎng)的,但是有一些參數(shù)可以傳入不定數(shù)量的參數(shù),golang語(yǔ)言也有這樣的用法
比如一個(gè)函數(shù)是這樣寫(xiě)的 (推薦學(xué)習(xí):go)
func sum(nums ...int){ total := 0 for _, num := range numes{ total += num } return total }
那么在調(diào)用在函數(shù)的時(shí)候, 可以有多種方式
func main(){ sum(1, 2)? sum(1, 2, 3) }
但如果我的現(xiàn)在有一個(gè)一個(gè)這樣的參數(shù),該怎么傳進(jìn)去
nums := []int{1, 2, 3}
很顯然這是個(gè)slice切片,這里只能反著來(lái),打散傳入該函數(shù)
nums := []int{1, 2, 3} sum(nums...)