Go中函数的不定参数用法

详细的用法请参考《Go语言编程》(许式伟等编著,北京:人民邮电出版社,2012.08)第2.5.3小节“不定参数”。

这里说一下我使用的经验:

可以把不定参数理解为一个数组,你可以自己组织一个数组或切片,然后将其作为不定参数传给一个可以接受不定参数的函数。

假设有另一个变参函数叫做myfunc3(args ...int),下面演示如何自己组织一个不定参数:

func myfunc(arg1 int,arg2 int, args ...int) {

argsNew :=make([]int,2+len(args)

argsNew[0]=arg1

argsNew[1]=arg2

for i:=0;i

argsNew[i+2]=args[i]

}

myfunc3(argsNew...)//注意,一定要加上“...”,这样才能说明传送的是不定参数而不是一个数组
}


参考文章:

《看范例学 Golang (十四)- 可变参数函数》:http://ieqi.net/2013/03/11/%E7%9C%8B%E8%8C%83%E4%BE%8B%E5%AD%A6-golang-%EF%BC%88%E5%8D%81%E5%9B%9B%EF%BC%89-%E5%8F%AF%E5%8F%98%E5%8F%82%E6%95%B0%E5%87%BD%E6%95%B0/

你可能感兴趣的:(Golang)