首页 > 其他分享 >Go语言中省略号用法大全

Go语言中省略号用法大全

时间:2023-08-09 22:22:50浏览次数:38  
标签:... 省略号 int sum Go ellipsis total 大全

Go语言中的ellipsis(即三个连续的点 ...)确实有几种用途。下面是这些用途的总结:

  1. 定义变参函数(Variadic Functions):
    Ellipsis 用于函数定义时,表明该函数可以接受任意数量的参数。这些参数会被当作一个 slice 来处理。

    例如:

    func sum(nums ...int) int {
        total := 0
        for _, num := range nums {
            total += num
        }
        return total
    }
    

    你可以这样调用它:

    sum(1, 2, 3, 4)
    
  2. 传递变长参数:
    如果你已经有了一个 slice,但你想将它传递给一个变参函数,你可以使用 ellipsis。这告诉 Go 将 slice 的每个元素传递为独立的参数。

    例如使用前面定义的 sum 函数:

    nums := []int{1, 2, 3, 4}
    total := sum(nums...)
    
  3. 数组的长度自动推导:
    在定义数组时,如果你不想明确指定数组的长度,但是你提供了初始化值,你可以使用 ellipsis 来让 Go 自动计算数组的长度。

    primes := [...]int{2, 3, 5, 7, 11, 13}
    

    上面的代码会创建一个长度为 6 的整数数组。

这些就是 Go 语言中 ellipsis 的主要用途。确保在适当的上下文中使用它们,以免引起混淆或错误。

标签:...,省略号,int,sum,Go,ellipsis,total,大全
From: https://www.cnblogs.com/tangjicheng/p/17618150.html

相关文章

  • go-zero 是如何做路由管理的?
    原文链接:go-zero是如何做路由管理的?go-zero是一个微服务框架,包含了web和rpc两大部分。而对于web框架来说,路由管理是必不可少的一部分,那么本文就来探讨一下go-zero的路由管理是怎么做的,具体采用了哪种技术方案。路由管理方案路由管理方案有很多种,具体应该如何选择,应......
  • GO八股
    Go股大全:flag库了解吗?有什么陷阱?flag是Go官方提供的标准库,flag包实现了命令行的解析,flag使得开发命令行工具更为简单;陷阱一:当我们把flag放置在cli应用的最后面时,需要小心参数传递的顺序,flag包的命令行参数的解析逻辑是:当碰到第一个非flag参数时,便停止解析,所以如果传入......
  • Godot无法响应鼠标点击等输入事件时,检查这些内容
    注:本文以Godot4.0为基准,可能其他版本也能参考。这是我用C#写项目时发现的,可能和gdscript使用者遇到的问题有一定区别。如果你用Godot制作的游戏无法响应鼠标点击等输入事件,请检查下面这几种可能性,说不定能解决你的问题:1绑定gui_input信号的节点是否是Control?绑定p......
  • vue+django跨域问题
    解决办法:MIDDLEWARE=['corsheaders.middleware.CorsMiddleware','yshop.middleware.AuthorizeMiddleware','django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware�......
  • Python基础day63 Django分页和cookie、session
    推导分页的原理分页:当我们要展示的数据特别多的时候,一页展示不完,这个时候我们需要把要展示的数据分成多页展示分页中需要的几个参数:1.总数据有多少条2.每页展示多少条数据(自己规定的20)3.一共展示多少页4.总页数=总数据量/每页展示多少条数据5.当前第几页(前端传过去......
  • MYSQL数据库 学习大全
    MYSQL数据库目前广泛的应用在各种个人、商务系统中,各种技术都比较成熟。把自己学习的一些过程总结一下,该文章设计到的内容都没有做太具体的阐述,只是一个简单的入门手册,假如想看更多内容可以参看MYSQL的联机手册。1MYSQL安装先下载安装包:mysql-5.0.27-win32.zipmysq......
  • study go of First day
    一、语言标准1、go语言标识符基本和c语言规则一致:1).由数字、字母、下划线(_)组成2).数字不能在开头3).区分大小写————————————————————————————————————————————————————————————————————————————......
  • 简易的学生管理系统(go语言)
    简易的学生管理系统(go语言)首先,你需要安装github.com/go-sql-driver/mysql这个包来操作MySQL数据库。你可以使用以下命令来安装它:gogetgithub.com/go-sql-driver/mysqlpackagemainimport( "database/sql" "fmt" "os" "bufio" "strings" _"......
  • 使用golang解决LeetCode热题Hot100(1-10)
    使用golang解决LeetCode热题Hot1001.两数之和https://leetcode.cn/problems/two-sum/题目给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个......
  • Go语言——函数与闭包
    1函数定义在Go语言中定义函数使用func关键字,格式如下func函数名(参数)(返回值){ 函数体}函数名:由字母、数字、下划线组成。但首字母不能为数字,同一个包下,函数名称也不能重复参数:名称和类型组成,多个参数之间使用,分隔返回值:由返回值名称和返回值类型组成,返回值名称可以......