[Go] 函数/方法 的 变参
变参 本质上就是一个切片。只能接收一个或多个同类型参数,且 必须放在参数列表的 尾部。
func test(s string, a ...int) {fmt.Printf("%T, %v\n", a, a) // 显示类型 和 值 }func main() {test("abc", 1, 2, 3, 4) }
输出:
[]int, [1, 2, 3, 4]
将切片作为变参时,须进行 展开操作(后面加“...”)。如果是数组,先将其转换为切片。
func test(a ...int) {fmt.Println(a) }func main() {a := [3]int{10, 20, 30}test(a[:]...) }
既然变参是切片,那么参数复制的仅是切片自身,并不包括底层数组,也因此可修改原数据。如果需要,可以用内置函数 copy() 复制底层数据。
func test(a ...int) {for i := range a {a[i] += 100} }func main() {a := []int{10, 20, 30}test(a...)fmt.Println(a) }
输出:
[110 120 130]
[Go] 函数/方法 的 变参相关推荐
- js中函数,方法,事件对比区分,什么是方法,什么是函数
微信小程序开发交流qq群 581478349 承接微信小程序开发.扫码加微信. 正文: 简单的理解:函数是运行在本地的,方法是公用的. 事件是开关,通过某某事件触发某个函数 通常命名规范 ...
- C语言题解:用二分法思想求解10个元素中某个元素的下标(包含函数方法)
算法思想:用左下标和右下标之和除二得出中间下标值,再通过与所求元素比较,缩小范围,最后实现左下右下标相等,即找出所求下标.代码实现如下: #include <stdio.h> int ma ...
- Python列表函数方法
Python列表函数&方法 Python包含以下函数: 序号 函数 1 cmp(list1, list2) 比较两个列表的元素 2 len(list) 列表元素个数 3 max(list) 返 ...
- 全面讲解Python列表数组(三)列表数组类型的内置函数方法
列表数组类型的内置函数方法 这里有一个列表 list1[1,2,3,4,1,5,6,7,8,9] 一, count() list1.count(1) 2 作用是计算列表一个元素出现的次数; 二. in ...
- thinkphp模版调用函数方法
原文:thinkphp模版调用函数方法 {变量|函数1|函数2|函数3=参数1,参数2,参数3,###} ###为第4个参数,代表变量替换为第4个参数 举例: {$username|substr=0, ...
- mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]
mysql存储过程基本函数 一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2 [,... ]) //连接字串 INSTR (string ,substrin ...
- [JavaWeb-JavaScript]JavaScript_Function函数(方法)对象
Function:函数(方法)对象 1. 创建:1. var fun = new Function(形式参数列表,方法体); //忘掉吧2. function 方法名称(形式参数列表){方法体}3. ...
- js Date 函数方法
转载自 js Date 函数方法 var myDate = new Date();myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取 ...
- Python import导入模块与函数方法 Python语言基础【1】
1 Python的语言基础 导入模块 在Python代码中导入模块需要使用 import语句语法结果如下 import module_name 使用模块中函数的语法如下 module_name.fun ...
最新文章
- 7、Power Query-合并查询
- maven+jenkins+sonar集成搭建
- [js] ajax请求地址只支持http/https吗?能做到让它支持rtmp://等其它自定义协议吗 ?
- 分享Spring Cloud分布式微服务架构图
- java并发之Future与Callable使用
- jq监听input type=file发生改变,即选择文件,并获取文件名称
- php文件通常包含和一些,php函数导入与文件包含:include() 和 require() 语句的区别...
- 用c语言编写小于n的所有素数,关于求N以内素数的一点小问题(N小于一亿)
- dubbo快速实战(非最佳配置,演示用)
- 表达式求值(栈方法/C++语言描述)(一)
- Rainmeter,让你的桌面更精彩~
- 串口服务器如何设置485信号,串口服务器485 设置
- 当笑神姜涛遇上尼古拉斯赵四,低俗加上恶俗的结果是否就是封杀?
- struct和typedef struct的用法和区别
- [Unity] 制作游戏 小球爱碰撞
- Python 闯关之路一(语法基础)
- Java里面是先算乘除后算加减,JAVA基础之基本加减乘除计算
- ams1117 lm317 对比_浅谈LM1117输入电流和输出电流的差异
- JZ2440学习笔记
- 智慧煤矿技术理论篇1-5G与WiFi6技术