可变参数的申明:

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

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

func sum(one rune,two fload,three char,adds ... int ) int{
}

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

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

sum(values ...)

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


定义方式Wie:

func sum(adds ... interface{} ) int{

}