s := [3]int{1, 2, 4}
func(v [3]int) {
v[0] = 0
}(s)
fmt.Println(s) //参数固定长度数组是值传递 输出1 2 4
func(v []int) {
v[0] = 0
}(s[:])
fmt.Println(s) //参数非固定长度是切片是引用传递 输出0 2 4
m := map[int]int{
1: 10,
2: 20,
3: 30,
}
func(v map[int]int) {
v[3] = 40
}(m)
fmt.Println(m) //map是引用传递 输出[1:10 2:20 3:40]
//另外channel也是引用传递
//-----------------------
type Test struct {
a int
}
t := Test{a: 1}
func(v Test) {
v.a = 5
}(t)
fmt.Println(t) //对象是值传递 输出{1}
//其他值传递的还有string 和各种基本类型
-
近期文章
- 随想-201908119
- golang的值传递和引用传递
- 渗透测试-主机信息收集
- Sklearn包含的常用算法
- 矩阵乘法
- windows 10 x64安装talib
- Matplotlib画图
- flutter安卓下对各种指令集的选择编译
- flutter默认引擎支持的cpu指令集
- flutter文件说明
- flutter遇到的问题备忘
- docker网络模式
- 各语言时间函数
- flutter 设置初始启动页
- nodejs Promise未处理异常时显示栈
- 在已有android studio工程中添加flutter
- influxdb过期策略
- wamp协议实现rpc调用
- rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较
- 使用plotly库画图
文章归档
分类目录
功能
2022年六月 一 二 三 四 五 六 日 « 8月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30