go语言中的三点 ... 用法

embedded/2024/9/23 11:21:25/

 在go语言中 三点 ... 特殊用法在不同的地方有不同的意义,在不同的地方使用...的意义不同,如下:

1. 在定义数组[...]时的数组容量处的...表示由编译器自动计算数组元素大小,如:


// 数组定义 这个是手动指定数组大小
arr1 := [2]string{"Hello", " World"}// 由编译器自动计算数组元素,这个和上面的效果一样
arr2 := [...]string{"Hello", " World"}


2. 用在append函数的第二个参数后面时,append(a, b...) 表示增加b中所有的数据到a中, 
    append函数原型 func append(s []T, x ...T) []T  


  表示批量增加数据,类似JS中的伸张运算符, 示例如下:

    a := []string{"John", "Paul"}b := []string{"George", "Ringo", "Pete"}a = append(a, b...) // equivalent to "append(a, b[0], b[1], b[2])"// a == []string{"John", "Paul", "George", "Ringo", "Pete"}

3. 用在函数形参中时表示可变参数 ...

    可变参数函数使用示例:

package mainimport ("fmt""strings"
)
// 可变参数函数
func Fullname(names ...string) string {return strings.Join(names, " ")
}
func main() {fn1 := Fullname("Tekin", "Tian")fmt.Println("fn1=", fn1) // fn1= Tekin Tianfn2 :=Fullname("Tekin")fmt.Println("fn2=", fn2) // fn2= Tekinfn3 :=Fullname()fmt.Println("fn3=", fn3) // fn3=
}

....


http://www.ppmy.cn/embedded/30936.html

相关文章

基于双层优化的电动汽车优化调度研究(附matlab程序)

基于双层优化的电动汽车优化调度研究 0.代码链接 基于双层优化的电动汽车优化调度研究(matlab程序)资源-CSDN文库 1.简述 关键词:双层优化 选址定容 输配协同 时空优化 参考文档:《考虑大规模电动汽车接入电网的双层优化调度策略_胡文平》…

TCP四次挥手分析

TCP四次挥手分析 概念过程分析为什么连接的时候是三次握手,关闭的时候却是四次握手?为什么要等待2MSL? 概念 四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。 在…

数据结构 - 栈

目录 一. 栈的概念 二. 栈的结构 三. 栈的实现 1. 实现栈的两种方式 链表实现栈 顺序表实现栈 选择依据 栈的创建 栈的初始化 栈的销毁 入栈 出栈 获取栈顶元素 判断栈是否为空 获取栈中有效数据的个数 一. 栈的概念 栈(Stack)是一种重要…

前端Web开发基础知识

HTML定义 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。 什么是 HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言: HyperText Markup LanguageH…

你不可不知的数字可视化的未来。

10年UI设计和前端开发接单经验,完工项目1000,持续为友友们分享有价值、有见地的干货观点,有项目外包需求的老铁,欢迎关注发私信。 数据可视化是一个不断发展和创新的领域,未来的发展方向可能包括以下几个方面&#xff…

FineBI学习:K线图

效果图 底表结构:日期、股票代码、股票名称、开盘价、收盘价、最高价、最低价 步骤: 横轴:日期 纵轴:开盘价、最低价 选择【自定义图表】,或【瀑布图】 新建字段:价差(收盘-开盘&#xf…

SDKMAN!

概述 官网,SDKMAN是一款管理多版本SDK的工具,可以实现在多个版本间的快速切换。 其他特性: 易用:安装SDK不再需要去Google想安装的某个软件的官网的下载页,或找其他下载页面,然后下载安装包、解压、设置…

《Redis使用手册之有序集合》

《Redis使用手册之有序集合》 目录 **《Redis使用手册之有序集合》****ZADD:添加或更新成员****ZREM:移除指定的成员****ZSCORE:获取成员的分值****ZINCRBY:对成员的分值执行自增或自减操作****ZCARD:获取有序集合的大…