Go中函数的不定参数用法

xiaogugood · · 3215 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

详细的用法请参考《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/


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:xiaogugood

查看原文:Go中函数的不定参数用法

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3215 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传