可变参数的申明:

sum(adds...int)int{total:=_,add:=adds{total+=add}fmt.Printf(,total)total}

对于函数体来说,传递过来的可变参数即为slice。如果有类型不一一致的参数,可以这样传递:

funcsum(onerune,twofload,threechar,adds...int)int{}

如果调用者传递的为slice,则在调用访问为:

values:=[]int{1,2,3,4,5,6,7}

sum(values ...)

如果需要传递类型各异的可变参数,可以使用interface类型。


定义方式Wie:

funcsum(adds...interface{})int{

}