可变参数
参数数量不固定的函数形式
Go语言支持可变参数特性,函数声明和调用时没有固定数量的参数,同时也提供了一套方法进行可变参数的多级传递。特性如下:
可变参数一般被放置在函数列表的末尾,前面是固定参数列表,当没有固定参数时,所有变量就将是可变参数。
v为可变参数变量,类型为[]T,也就是拥有多个T元素的T类型切片,v和T之间由“...”即3个点组成。
T为可变参数的类型,当T为interface{}时,传入的可以是任意类型。
package main
import "fmt"
//可变参数 a为确定传参[string] str为不确定传参[string]
func magicString(a string,str ...string)(string){
fmt.Println(a) //I
fmt.Println(str) //[like Golang] 由此可见非固定传参是list承载
s:=a
//遍历拼接
for _, v := range str {
s+=v
}
//返回拼接后的结果
return s
}
func main() {
oneStr := magicString("I","like","Golang")
fmt.Println(oneStr) //IlikeGolang
}
不确定类型的可变参数
当可变参数为interface{}类型时,可以传入任何类型的值。
最后更新于