go不定参数类型

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 会先满足前面的形参,再满足后面的不定参数.

你可能感兴趣的:(go不定参数类型)