分享
  1. 首页
  2. 文章

Go实例学:可变长参数函数

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

支持可变长参数列表的函数可以支持任意个传入参数,比如fmt.Println函数就是一个支持可变长参数列表的函数。

package main
import "fmt"
// 这个函数可以传入任意数量的整型参数
func sum(nums ...int) {
  fmt.Print(nums, " ")
  total := 0
  for _, num := range nums {
    total += num
  }
  fmt.Println(total)
}
func main() {
  // 支持可变长参数的函数调用方法和普通函数一样
  // 也支持只有一个参数的情况
  sum(1, 2)
  sum(1, 2, 3)
  // 如果你需要传入的参数在一个切片中,像下面一样
  // "func(slice...)"把切片打散传入
  nums := []int{1, 2, 3, 4}
  sum(nums...)
}

输出结果为

[1 2] 3
[1 2 3] 6
[1 2 3 4] 10

需要注意的是,可变长参数应该是函数定义的最右边的参数,即最后一个参数。




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

本文来自:开源中国博客

感谢作者:Goopand

查看原文:Go实例学:可变长参数函数

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

关注微信
43590 次点击 ∙ 3 赞
被以下专栏收入,发现更多相似内容
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏