Go语法糖之‘...’ 的使用实例详解

 更新时间:2018年10月10日 14:29:37   投稿:mrr  
语法糖(Syntactic sugar),也译为糖衣语法,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。这篇文章主要给大家介绍Go语法糖之‘...’ 的使用,感兴趣的朋友一起看看吧

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。

下面通过例子看下Go语法糖之‘...' 的使用,具体内容如下所示:

‘…' 其实是go的一种语法糖。

它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。

第二个用法是slice可以被打散进行传递。

下面直接上例子:

func test1(args ...string) { //可以接受任意个string参数
  for _, v:= range args{
    fmt.Println(v)
  }
}func main(){var strss= []string{    "qwr",    "234",    "yui",    "cvbc",
  }
  test1(strss...) //切片被打散传入
}123456789101112131415

结果:

qwr
234
yui
cvbc1234

其中strss切片内部的元素数量可以是任意个,test1函数都能够接受。

第二个例子:

  var strss= []string{    "qwr",    "234",    "yui",

  }  var strss2= []string{    "qqq",    "aaa",    "zzz",    "zzz",
  }
strss=append(strss,strss2...) //strss2的元素被打散一个个append进strssfmt.Println(strss)1234567891011121314

结果:

[qwr 234 yui qqq aaa zzz zzz]

如果没有'…',面对上面的情况,无疑会增加代码量,有了'…',是不是感觉简洁了许多

总结

以上所述是小编给大家介绍的Go语法糖之‘...' 的使用实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • go实现一个分布式限流器的方法步骤

    go实现一个分布式限流器的方法步骤

    项目中需要对api的接口进行限流,本文主要介绍了go实现一个分布式限流器的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 一文带你掌握Golang中的类型断言

    一文带你掌握Golang中的类型断言

    类型断言是 Golang 中的一个非常重要的特性,使用类型断言可以判断一个接口的实际类型是否是预期的类型,以便进行对应的处理,下面就跟随小编一起深入了解一下Golang中的类型断言吧
    2024-01-01
  • Go语言原子操作atomic的使用

    Go语言原子操作atomic的使用

    本文介绍了Go语言原子操作的使用方法,原子操作是一种无锁的技术,可通过CPU指令实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • xorm根据数据库生成go model文件的操作

    xorm根据数据库生成go model文件的操作

    这篇文章主要介绍了xorm根据数据库生成go model文件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • golang有用的库及工具 之 zap.Logger包的使用指南

    golang有用的库及工具 之 zap.Logger包的使用指南

    这篇文章主要介绍了golang有用的库及工具 之 zap.Logger包的使用指南,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • golang框架gin的日志处理和zap lumberjack日志使用方式

    golang框架gin的日志处理和zap lumberjack日志使用方式

    这篇文章主要介绍了golang框架gin的日志处理和zap lumberjack日志使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • golang使用grpc+go-kit模拟oauth认证的操作

    golang使用grpc+go-kit模拟oauth认证的操作

    这篇文章主要介绍了golang使用grpc+go-kit模拟oauth认证的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 简单聊聊为什么说Go语言字符串是不可变的

    简单聊聊为什么说Go语言字符串是不可变的

    最近有读者留言说,平时在写代码的过程中,是会对字符串进行修改的,但网上都说 Go 语言字符串是不可变的,这是为什么呢,本文就来和大家简单讲讲
    2023-05-05
  • 详解Golang如何优雅判断interface是否为nil

    详解Golang如何优雅判断interface是否为nil

    这篇文章主要为大家详细介绍了Golang如何优雅判断interface是否为nil的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解下
    2024-01-01
  • 详解Go语言运用广度优先搜索走迷宫

    详解Go语言运用广度优先搜索走迷宫

    广度优先搜索是从图中的某一顶点出发,遍历每一个顶点时,依次遍历其所有的邻接点,再从这些邻接点出发,依次访问它们的邻接点,直到图中所有被访问过的顶点的邻接点都被访问到。然后查看图中是否存在尚未被访问的顶点,若有,则以该顶点为起始点,重复上述遍历的过程
    2021-06-06

最新评论