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<len(args);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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值