如何使用Go中三个点
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本篇内容主要讲解"如何使用Go中三个点",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用Go中三个点"吧!'…' 其实是go的一种语法糖。它的第一个用
千家信息网最后更新 2025年01月18日如何使用Go中三个点
本篇内容主要讲解"如何使用Go中三个点",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用Go中三个点"吧!
'…' 其实是go的一种语法糖。
它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。
第二个用法是slice可以被打散进行传递。
实例:
package main import ( "fmt") func main(){ name(1,2,3,4,5,6,7,8,9) //多个不确定数量的参数 var strss= []string{ "qwr", "234", "yui", "cvbc", } test1(strss...) //切片被打散传入 strss... 等同于 "qwr","234","yui","cvbc"} func name(args ...int) {//可以接受任意个int参数 for _, v:= range args{ fmt.Println(v) }} func test1(args ...string) { //可以接受任意个string参数 for _, v:= range args{ fmt.Println(v) }}
下面看下Go中三个点(...)用法,具体内容如下所示:
众所周知,Go语言是严格类型语言,而开发的时候又遇到传入参数不定的情况,怎么办?
这里的三个点(…),就给我们编程人员带来很大的灵活性,具体如下
在Golang中,三个点一共会用在四个地方(话说三个点的官方说法是什么?):
代码如下:
package main import ( "fmt" "log") func main() { //multiParam 可以接受可变数量的参数 names := []string{"jerry", "herry"} //在数组文字中,...符号指定的长度等于文字中元素的数量。 stooges := [...]string{"Moe", "Larry", "Curly"} stoogxs := []string{"Moe", "Larry", "Curly"} strParam("jerry", "herry") strParam(names...) //通过append合并两个slice stoogxs = 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))} func strParam(args ...string) { //接受的参数放在args数组中 for _, e := range args { log.Println(e) }} func intParam(args ...int) { res := 0 for _, n := range args { res += n } log.Println(res) }
变长的函数参数
如果最后一个函数参数的类型的是...T,那么在调用这个函数的时候,我们可以在参数列表的最后使用若干个类型为T的参数。这里,...T在函数内部的类型实际是[]T.
func intParam(args ...int) { res := 0 for _, n := range args { 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命令行中的通配符
描述包文件的通配符。
在这个例子中,会单元测试当前目录和所有子目录的所有包:
go test ./...
到此,相信大家对"如何使用Go中三个点"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
参数
数组
三个
元素
函数
个数
数量
类型
内容
多个
意味
标识
实际
情况
文字
时候
语言
通配符
学习
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
陕西速畅华网络技术有限公司
猫和老鼠游戏怎么取消服务器
美国全球网络安全事件
关键信息基础设施网络安全检
无线网络技术讨论心得
广东一体化智慧医养软件开发
梅州卫星软件开发费用是多少
我的世界服务器插件指令bug
网络安全人员的职业道德
网络技术与应用的论文
建立软件开发规范
公司可以自己搭建dns服务器吗
网络安全与信息化委员会会议记录
铁岭市公安局网络安全宣传活动
石桥铺99年的软件开发公司
商会数据库
数据库安全性重要性
2021年军营网络安全周主题
1g网站服务器价格
数据库主键必须连续吗
信息网络安全监察主要学什么
贵州省网络安全大会
魔兽世界血环服务器
计算机网络技术前程怎么样
新余做app的软件开发费用
济宁戴尔服务器代理电话
公司可以自己搭建dns服务器吗
棋牌软件开发的政策
邮件服务器怎么查看地址
博思软件开发有限公司