golang数据类型在函数中传值或传址的整理
来源:互联网 发布:untitled软件汉化版 编辑:程序博客网 时间:2024/05/18 00:26
https://my.oschina.net/chai2010/blog/161384
slice/map/chan这三种数据类型在函数中就是传址
从C转GO的我对这段代码会有点疑惑,ChangeInt函数不能修改tmpint的值,这个好理解,因为input只是tmpint的一个拷贝,但是ChangeMap却能修改tmpmap的值,照理说如果input也是tmpmap的拷贝,那么ChangeMap将不能修改tmpmap的值,上述的链接文章里可以看到map数据类型其实是传指针(或者说传地址)。因此map内的数据可以在ChangeMap函数中被修改(这三种数据类型的隐含属性)
func ChangeInt(input int) {input = 4}func ChangeMap(input map[int]string) {input[2] = "changed"}func main() {tmpmap := make(map[int]string)tmpmap[1] = "myname"tmpmap[2] = "yourname"ChangeMap(tmpmap)var tmpint int = 2ChangeInt(tmpint)fmt.Println(tmpmap,tmpint)}
0 0
- golang数据类型在函数中传值或传址的整理
- Golang在ARM/Linux平台上函数参数的传递
- golang(cgo)---如何在两个不同的package中使用同样的自定义数据类型?
- go语言学习-golang的基本数据类型
- go语言学习-golang的基本数据类型
- 数据类型转换的整理
- 数据类型转换的整理
- 数据类型转换的整理
- 数据类型转换的整理
- 数据类型转换的整理
- 整理的Python3数据类型
- 数据类型的笔记整理
- golang的一些常用函数
- golang在函数中改变slice值
- 整理的JavaScript的数据类型
- 数据类型的转换 笔记整理
- 自己整理的SQL数据类型
- 任意数据类型切片 golang
- 日常训练20161013 棋盘上的象
- react-native 启动服务器时候报错Could not install the app on the device, read the error above for details.
- bootstrap基础知识
- jsp表单边框
- 百度坐标转换成WGS84坐标
- golang数据类型在函数中传值或传址的整理
- 给自己看的tips(更新中)
- 解决线程安全的主要手段
- Spring架构使用JdbcTemplate进行数据库功能开发
- Gazebo機器人仿真學習探索筆記(一)安裝與使用
- canvas涂鸦板
- 单个文件的压缩或解压
- mount 挂载
- 自定义viewGroup打造花式布局