go chapter 4 - 不定长参数

Posted webglcn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go chapter 4 - 不定长参数相关的知识,希望对你有一定的参考价值。

https://www.cnblogs.com/chase-wind/p/5644838.html

空接口可以指向任何数据对象,所以可以使用interface{}定义任意类型变量,同时interface{}也是类型安全的。

变长int类型的参数

Func f(args ...int){
    For _,arg :=range args{
        fmt.Println(arg)
    }
}

  

变长不定类型的参数, 判断参数类型  

arg.(type)只能在switch中使用

func MyPrintf(args ...interface{}) {
    for _, arg := range args {
        switch arg.(type) {
            case int:
                fmt.Println(arg, "is an int value.")
            case string:
                fmt.Println(arg, "is a string value.")
            case int64:
                fmt.Println(arg, "is an int64 value.")
            default:
                fmt.Println(arg, "is an unknown type.")
         }
    }
}

 

MyPrintf(2, "Go", 8, "language")

 

以上是关于go chapter 4 - 不定长参数的主要内容,如果未能解决你的问题,请参考以下文章

python函数不定长参数

Python的不定长参数研究

python_30期不定长参数/动态参数 *arges

python_30期不定长参数/动态参数 *arges

函数调用--不定长参数

不定长参数的传递