深入浅析Go中三个点(...)用法

文章编号:5147 2023-10-18

‘…'其实是go的一种语法糖。它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。第二个用法是slice可以被打散进行传递。

深入浅析Go中三个点用法

packagemainimport("fmt")funcmain(){name(1,2,3,4,5,6,7,8,9)//多个不确定数量的参数varstrss=[]string{"qwr","234","yui","cvbc",}test1(strss...)//切片被打散传入strss...等同于"qwr","234","yui","cvbc"}funcname(args...int){//可以接受任意个int参数For_,v:=rangeargs{fmt.Println(v)}}functest1(args...string){//可以接受任意个string参数for_,v:=rangeargs{fmt.Println(v)}}

下面看下Go中三个点(...)用法,具体内容如下所示:

众所周知,Go语言是严格类型语言,而开发的时候又遇到传入参数不定的情况,怎么办?

这里的三个点(…),就给我们编程人员带来很大的灵活性,具体如下

在Golang中,三个点一共会用在四个地方(话说三个点的官方说法是什么?):

packagemainimport("fmt""log")funcmain(){//multiParam可以接受可变数量的参数names:=[]string{"jerry","herry"}//在数组文字中,...符号指定的长度等于文字中元素的数量。stooges:=[...]string{"Moe","Larry","Curly"}stoogxs:=[]string{"Moe","Larry","Curly"}stRPAram("jerry","herry")strParam(names...)//通过append合并两个slicestoogxs=append(stoogxs,names...)fmt.Println(stoogxs)//标识数组元素个数,这里,...意味着数组的元素个数log.Println(len(stooges))nums:=[]int{4,5,6}stoogns:=[...]int{4,5,6}intParam(1,2,3)intParam(nums...)//标识数组元素个数,这里,...意味着数组的元素个数log.Println(len(stoogns))}funcstrParam(args...string){//接受的参数放在args数组中for_,e:=rangeargs{log.Println(e)}}funcintParam(args...int){res:=0for_,n:=rangeargs{res=n}log.Println(res)}

变长的函数参数

如果最后一个函数参数的类型的是...T,那么在调用这个函数的时候,我们可以在参数列表的最后使用若干个类型为T的参数。这里,...T在函数内部的类型实际是[]T.

funcintParam(args...int){res:=0for_,n:=rangeargs{res=n}log.Println(res)}

调用拥有变长参数列表的函数

上面调用Sum函数时,是将变长参数分开写的。如果我们有一个slice,那么我们调用时不必将slice拆开再调用,直接在slice后跟...即可:

nums:=[]int{4,5,6}intParam(nums...)

标识数组元素个数

stooges:=[...]string{"Moe","Larry","Curly"}//len(stooges)==3

这里,...意味着数组的元素个数:

Go命令行中的通配符

描述包文件的通配符。在这个例子中,会单元测试当前目录和所有子目录的所有包:

gotest./...

到此这篇关于深入浅析Go中三个点(...)用法的文章就介绍到这了,更多相关中三个点(...)用法内容请搜索完美下载以前的文章或继续浏览下面的相关文章希望大家以后多多支持完美下载!


本文地址: /article/994677b2592406bf9111.html
全局中部横幅
全局中部横幅
在线文本去重复 - 站长工具

在线去重工具可以用于去除文本中的重复项,针对文本内容进行一键去重。

生死狙击2_生死狙击2下载_生死狙击2官网_4399生死狙击2

《生死狙击2》是一款华流次世代畅爽射击网游!生死狙击2打造全模式玩法,极致超燃战斗体验!4399生死狙击2官网提供更多游戏视频、生死狙击2游戏下载、游戏攻略等资料。

企业培训系统平台_企业线上培训_员工线上培训平台-云学堂

【云学堂官网】是为中大型企业提供在线企业培训系统学习平台,有elearning企业学习平台搭建、企业培训课程、企业培训考试系统、绚星APP学习平台等;为企业提供专业的企业培训一站式解决方案。

河北奥儒羽绒制品有限公司,奥儒羽绒,河北羽绒厂,河北白鸭绒,白鸭绒厂,羽绒制品_其它

河北奥儒羽绒制品有限公司,奥儒羽绒,河北羽绒厂,河北白鸭绒,白鸭绒厂,羽绒制品_河北奥儒羽绒制品股份有限公司拥有国内先进的全自动水洗设备2套,4箱分毛机6台,三箱分毛机2台,拼毛机2台,燃气锅炉1台,污水处理站一座,另拥有一整套的羽绒检测设备,年产羽绒800余吨。

长沙公司注册_长沙代理记账_长沙商标注册_长沙资质代办-华威商务集团

华威商务集团(www.hwswjt.com)专业的财税外包、财税顾问、财务咨询。采用团队对1服务模式,为中小企业提供优质的公司注册、代理记账报税、纳税咨询、商标注册及公司注销等公司发展全周期服务。

无锡殡葬服务一条龙,白事服务,殡仪服务电话-无锡殡葬服务公司

无锡殡仪24小时服务电话【4009013664】,业务范围包括:治丧、守灵、火化、骨灰寄、寿衣和骨灰盒的售卖。另有17个悼念礼厅;火化间除配备12台火化炉;馆内配备了15辆遗体专用接运车,让丧属在悲痛之余,有一个安静的哀思场所。

小游戏开发|h5互动游戏开发|微信抖音小程序游戏开发|制作游戏厂商|手机游戏开发|游戏外包公司-圣捷信息技术

专注游戏开发,小程序游戏开发,小游戏开发,主要涵盖H5小游戏、微信小游戏、网游APP、手游、合成类、卡牌回合制、农场养成类、宠物养成类、卡牌类、休闲类等游戏定制开发,游戏软件开发,手机游戏定制开发,网络游戏开发公司,手游开发制作公司,H5小游戏开发定制.

钢结构|吉林钢结构|长春钢结构|钢结构厂房|楼承板|彩钢板|集成房|岩棉夹芯板-钢结构工程有限公司

钢结构工程有限公司在生产钢结构,吉林钢结构,长春钢结构,钢结构厂房,楼承板,彩钢板,集成房,岩棉夹芯板等产品经验丰富,价位也比较便宜,服务周到,有需要的客户可以联系我们,我们随时恭候您的光临.

吉林长白吉祥甘露天然饮品有限公司

吉林长白吉祥甘露天然饮品有限公司经营天然矿泉水品牌有“野森源天然矿泉水”和“101天然矿泉水”,并不断结合高端天然矿泉水市场,持续研发生产具有国际专业水准的矿泉水产品。

英超直播_英超直播免费直播_英超直播在线高清直播无插件观看-24k直播网

【24直播网】⚡️《夏.日》⚡️实时转播英超「争四」终极悬念赛事,英超欧冠资格争夺战在线观看,英超前六关键对决免费直播,英超欧战门票争夺无插件播放!我们聚焦曼联、切尔西、热刺等豪门为欧冠席位展开的激烈角逐,通过实时数据分析呈现每一分的战略价值。

代理IP - Python PHP 前端学习网 - 免费代理IP - 猿大咖技术分享网

猿大咖编程语言学习、交流、分享平台,包含最新动静态代理IP,免费IP代理,socks5代理推荐,Python3基础、php教程、前端技术动态推荐等,欢迎自学!

全局底部横幅