栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

图解Go引用的底层实现

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图解Go引用的底层实现

Go怎么可能有引用?得了吧~
有人要说了,那利用make()函数执行后得到的slice、map、channel等类型,不都是得到的引用吗?

我要说:那能叫引用吗?你能确定啥叫引用吗?
如果你有点迷糊,那么请听我往下讲:

这一切要从变量说起。

什么是变量

无论是引用变量还是指针变量,都是变量;那么,什么叫变量?
其实变量本质就是一块内存。通常,我们对计算机内存进行操作,最直接的方式就是:“计算机,在0x0201地址内存一个整数100,在0x00202地址存一个浮点数10.6,读取0x00203的数据…” 这种方式让机器来操作还行,如果直接写成代码让人看的话,这一堆“0x0201、0x0202…”难记的地址能把人给整崩溃了~
于是,聪明的人们想出了一种方法:把一堆难记的地址用其他人类可以方便读懂的方式来间接表示。例如:将“0x0201”的地址命名为“id”,将“0x0202”命名为“score”…然后,代码编译期间,再将"name"等人类能读懂的文字转化为真实的内存地址;于是,变量诞生了~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/909240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号