golang不定长参数问题

golang不定长参数问题

一般函数的参数都是定长的,但是有一些参数可以传入不定数量的参数,golang 语言也有这样的用法

比如一个函数是这样写的


func sum(nums ...int){
    total := 0
    for _, num := range numes{
        total += num
    }
    return total 
}

那么在调用在函数的时候, 可以有多种方式


func main(){
    sum(1, 2)˜
    sum(1, 2, 3)
}

但如果我的现在有一个一个这样的参数,该怎么传进去

nums := []int{1, 2, 3}

很显然这是个slice切片,这里只能反着来,打散传入该函数

nums := []int{1, 2, 3}
sum(nums...)

你可能感兴趣的:(golang不定长参数问题)