下面举例说明不定参数的使用。
不定参数必须是最后一个参数。
arm.go
package main
import ( "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)
}
}
参数类型和个数都不定的情况,使用了interface:
func manyParam3(args ...interface{}) {
for k,v := range args {
fmt.Println("k:",v)
}
}
编译和执行
$ go build arm
$ ./arm
结果输出:
原文链接:https://www.f2er.com/go/187925.htmlk: 0 v: 1
k: 1 v: 2
k: 2 v: 3s: tow
k: 0 v: 4
k: 1 v: 5
k: 2 v: 6k: 0 v: tow k: 1 v: 66 k: 2 v: three