Golang 不定参数

来源:互联网 发布:python 远程ssh 编辑:程序博客网 时间:2024/06/08 04:59

下面举例说明不定参数的使用。

不定参数必须是最后一个参数。

arm.go

package mainimport (        "fmt")func main() {        manyParam1(1,2,3)        manyParam2("tow", 4,5,6)        manyParam3("tow",66, "three")}

不定参数是同一个类型的情况:

func manyParam1(args ...int) {        for k,v := range args {                fmt.Println("k:",k, "v:", v)        }}

前面参数固定,后面参数不定的情况:

func manyParam2(s string, args ...int) {        fmt.Println("s:", s)        for k,v := range args {                fmt.Println("k:",k, "v:", v)        }}

参数类型和个数都不定的情况,使用了interface:

func manyParam3(args ...interface{}) {        for k,v := range args {                fmt.Println("k:",k, "v:", v)        }}

编译和执行

$ go build arm$ ./arm

结果输出:

k: 0 v: 1
k: 1 v: 2
k: 2 v: 3

s: tow
k: 0 v: 4
k: 1 v: 5
k: 2 v: 6

k: 0 v: tow
k: 1 v: 66
k: 2 v: three

原创粉丝点击