golang不定长传参

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

golang不定长传参,三个点... 可以很灵活的传入多个参数,给两个例子,一看就明白了

1、int类型不定长传参

package main import "fmt" func main() { fmt.Println(Sum(1, 4, 6, 7, 8, 9, 100, 200)) } func Sum(numbers ...int) int { result := 0 for _, n := range numbers { result += n } return result }
 go run test1.go 335

2、map类型不定长传参

package main import "fmt" func main() { fmt.Println(SumMap(map[string]string{"Italy": "Rome"}, map[string]string{"Japan": "Tokyo"}, map[string]string{"china": "beijing"})) } func SumMap(countryCapitalMaps ...map[string]string) map[string]string { var result map[string]string result = make(map[string]string) //注意:这里需要先把多个map的顺序取出,否则会报错 //cannot use k (type int) as type string in map index //cannot use v (type map[string]string) as type string in assignment for i, num := range countryCapitalMaps { fmt.Println(i) fmt.Println(num) for k, v := range num { result[k] = v } } return result } 
go run test2.go //这里会打印map的顺序号和值 0 map[Italy:Rome] 1 map[Japan:Tokyo] 2 map[china:beijing] map[Italy:Rome Japan:Tokyo china:beijing]

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

本文来自:51CTO博客

感谢作者:1350368559

查看原文:golang不定长传参

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

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