golang不定长传参
admin
2023-02-16 12:00:10
0

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]

相关内容

热门资讯

美国拟实施载人绕月飞行任务 美国航天局日前表示,计划不早于2月6日实施“阿耳忒弥斯2号”载人绕月飞行任务。这将是美国新一代登月火...
美方宣布启动加沙停火第二阶段 △美国总统特朗普的特使威特科夫(资料图)当地时间14日,美国总统特朗普的特使威特科夫在社交媒体发文,...
东城集团极目无人机乡村振兴服务... 1月12日,东城集团极目无人机乡村振兴服务队在融水苗族自治县拱洞乡高武村正式成立,标志着以“定点帮扶...
英国从卡塔尔军事基地撤人 据英国天空新闻当地时间1月14日报道,英国正从美国位于卡塔尔的乌代德空军基地撤出人员。伊朗此前已多次...
新迅达取得不锈钢螺纹射钉紧固件... 国家知识产权局信息显示,江苏新迅达不锈钢制品有限公司取得一项名为“不锈钢螺纹射钉紧固件”的专利,授权...
TCL申请界面加载方法专利,提... 国家知识产权局信息显示,深圳TCL数字技术有限公司申请一项名为“界面加载方法、装置、设备和存储介质”...
伊朗:骚乱事件主要幕后人员落网 新华社德黑兰1月14日电(记者陈霄 沙达提)伊朗情报部门14日发表声明说,已逮捕近期骚乱事件的主要幕...
瑞丰光电:公司积极进行技术和产... 证券日报网讯 1月14日,瑞丰光电在互动平台回答投资者提问时表示,公司是专业从事LED封装及提供相关...
原创 沉... 当科技遇见艺术:平板振膜的声学革命 在音频设备领域,平板振膜技术一直被视为高端耳机的代名词。HIF...
贺娇龙坠马不幸离世,年仅47岁 石榴云/新疆日报讯(记者 刘毅报道)2026年1月14日23时12分,新疆维吾尔自治区农产品品牌建设...