package main
import "fmt"
func main() {
MyFunc(1,2,3,4,5,6,7,8,9)
Myfunc1(11,22,3,44,566,777)
}
func Myfunc1(a, b int,args ...int) {
fmt.Printf("a=%d , b= %d, args = %d ",a,b,args)
}
//注意:不定参数,一定(只能)放在形参中的最后一个参数
func MyFunc(args ...int) {
fmt.Println("len(args) = ", len(args)) //获取用户传递参数的个数
for i := 0 ;i < len(args);i++{
fmt.Printf("args[%d] = %d\n",i,args[i])
}
//返回2个值,第一个是下标,第二个是下标所对应的数
for i, data := range args {
fmt.Printf("args[%d] = %d\n", i, data)
}
}
如果传递不定参数,一定要放在形参中最后一个参数,前面是实参. go
会先满足前面的形参,再满足后面的不定参数.