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

全局中部横幅
友情链接查询,友情链接检测

最高效的友情链接检查工具,帮您快速检测网站自身以及外部链接站点的SEO概况和是否相互链接等,超过50台服务器的资源支持保障高效查询。

我要自学网

我要自学网-免费视频教程,提供全方位软件学习,有3D教程,平面教程,多媒体制作教程,办公信息化教程,机械设计教程,网站制作教程,电脑培训

山东网站建设

东营云商网络科技有限公司Since2011年,10年来目前主要核心服务领域有:高端网站建设,App定制开发,微信小程序开发等互联网技术支持和服务。

晴晴的减脂食记的所有菜谱视频

这里有所有篇,晴晴的减脂食记的菜谱和视频,以及所有的故事

疏水阀

永嘉县德莱赛阀门有限公司专业生产及销售蒸汽疏水阀,浮球式疏水阀,圆盘式疏水阀,双金属片疏水阀,热动力式疏水阀,倒吊桶式疏水阀等,精工铸造,质量可靠。欢迎来电咨询:0577-67983777

加特可(广州)自动变速箱有限公司

加特可(广州)自动变速箱有限公司

UL2587柔性控制电缆

常州安耐特电缆有限公司专业致力于UL2587,柔性控制电缆,H05VV5-F,PUR电缆,AVVR的研发与生产,欢迎广大用户前来咨询

锥体

山东星火机械主要以生产销售锥体卷板机,四辊卷板机,液压卷板机,机械卷板机,焊接小车,焊接机器人,滚轮架,数控切割机为主。

无锡众辰网络科技有限公司

游斐网络成立于2013年,总部位于上海,创始成员来自盛大、果壳、蝴蝶互动等国内知名公司,是一家专业从事移动游戏自主研发、运营发行的综合游戏开发商。先后与三九互娱、广州思璞建立了互利共赢的良好合作伙伴关系

上海旺佯科技

上海旺佯科技(bjfegj.com)提供最新的行业动态、热门新闻和实用信息,是您获取各类资讯的首选平台。我们致力于为用户带来全面、及时、准确的内容,助您把握科技脉搏,洞悉行业趋势。

X光检测仪

上海微现检测设备有限公司专注于食品和药品等工业在线精密检测设备的研发、生产和销售,包括:食品x光检测机、食品金属检测仪、食品异物检测x光机、食品金属探测器、x光食品异物检测机、食品x光检测机。微现研发团队在X射线成像检测领域具有近20年的产品经验,拥有图像和信号处理领域的多项自主核心技术,坚持以严谨的态度和创新的精神为专业用户提供国际先进水平的人工智能检测技术和软硬件解决方案。

上海畅频仪表有限公司

上海自仪仪表有限公司主要产品有:温度仪表,压力仪表,液位仪表,直流电流/电压表、交流电流/电压表、单相/三相功率表、单相/三相功率因素表、单相/三相无功功率表、频率表、高阻表、同步表和带远传的温度指示表等。

全局底部横幅