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

全局中部横幅
极兔速递

J&T极兔速递是一家全球综合物流服务运营商。公司创立于2015年,快递网络覆盖印度尼西亚、越南、马来西亚、菲律宾、泰国、柬埔寨、新加坡、中国、沙特阿拉伯、阿联酋、墨西哥、巴西、埃及共13个国家。秉承“客户为本、效率为根”的宗旨,J&T极兔速递致力于通过智能化的基础设施,数字化的物流网络,为客户提供全场景化的物流解决方案,以高效连接世界,让物流惠及全球。

360手机助手

360手机助手是中国最大最安全的安卓Android手机应用市场,提供丰富的安卓应用下载,主题下载,手机壁纸下载,手机电影视频下载,小说下载等。所有应用均通过360安全检测,绿色无毒。

净水器租赁

东莞市康源净水设备公司专业代理销售浩泽家用净水器和商用净水器产品以及商用净水器租赁服务,免费咨询:13556689555

上海佑灼网络科技有限公司

上海佑灼网络科技有限公司www.0558job.cn经营范围含:皮革处理设施、兽用杀虫剂、门洞加固、热水器、食品饮料加工设备、系统工程、发动机维修、显示设备、塑料制品、肥料(依法须经批准的项目,经相关部门批准后方可开展经营活动)。

变形缝伸缩缝厂家

行安公司厂家提供变形缝伸缩缝,包含铝合金变形缝、不锈钢变形缝、镀锌铁皮伸缩缝等成品建筑变形缝,有屋面变形缝、外墙变形缝、内墙顶棚变形缝、楼地面变形缝,为客户提供变形缝材料生产、定制、安装与施工。

苏州防爆电气检测

苏州恒安主要从事防爆电气检测,无损检测,广告牌检测,探测器检测,埋地管道检测是一家专业的电气安全、电气防爆、气体报警器及广告牌检测的第三方机构,能够独立对外开展电气安全、电气防爆、气体报警器及广告牌检测,为社会提供公正的第三方检测服务。

江西省设备工程监理有限公司

公司拥有较强的检测仪器、先进的自动化办公设备和一批理论知识扎实、实践经验丰富、专业技能娴熟的检验监督管理人才,为从事设备工程监理提供了可靠的技术支持和保障。

北京网站建设

南北互联建站,一站式网站建设平台,北京网站建设领跑者,16年专注高端网站建设,网页设计联盟金牌企业,满足北京网站建设、北京企业网站建设制作、北京建站、免费网站建设、高端企业网站制作等需求,是广大用户建站之选,网站建设服务咨询:4008119815。

临海市新睿电子科技有限公司

临海市新睿电子科技有限公司_从事电机驱动器及电机等机电产品的研发、生产、销售为一体的高科技企业

安徽庆冠环境

【安徽庆冠环境】企业环保管家一站式托管.主治:高校园区环保管家,企业环保一站式托管,安徽环保隐患排查,合肥挂牌督办摘牌,安徽环保合规咨询,合肥废水设计施工,废气处理工程施工,环评报告编制,建设项目环保验收,企业排污许可填报,安徽合肥废水废气处理工程设计处理设施托管运营等。

肉牛养殖场

肉牛养殖场就选泰安岱岳区润吉公司(电话:13054979039)主要养殖:西门塔尔牛,利木赞牛,夏洛莱牛,鲁西黄牛,波尔山羊,杜泊绵羊,小尾寒羊,湖羊,德州驴,关中驴,三粉驴等品种.养殖场肉牛具有生长周期短,抗病性强,屠宰率高等特点.

全局底部横幅