1、固定类型的不定参数
语法格式:argumentName ...Type
ackage main
import "fmt"
func f1(args ...int) {
for _, v := range args {
fmt.Println(v)
}
}
func main() {
f1()
f1(1)
f1(3, 5)
}
2、任意类型的不定参数
interface{} : 空接口类型,因为任意类型都实现了空接口,因此可以将任意类型对象赋值给空接口。
package main
import "fmt"
func f1(args ...interface{}) {
for _, v := range args {
fmt.Println(v.(int))//这里使用了接口类型断言
}
}
func main() {
f1()
f1(1)
f1(3, 5)
}
3、不定参数的传递
假设args是一个不定参数,则可以将该参数传递给其他具有不定参数的函数
func f1(args ...int) {
f2(args...)
f2(args[1:]...)
}
func f2(args ...int) {
//
}
有疑问加站长微信联系(非本文作者)