指针与引用的区别

wzwmzm · · 2724 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

指针与引用的区别。由new生成的指针指向了特定的内存,它是不变的。而由make生成的内存块大小是可变的,当切片的增长超出了cap指定的大小时,将会重新分配一块更大的内存并将原切片内容复制过去,切片指向了新的内存块,切片原来的内存将会释放并回收。所以切片指向的内存地址是会变的。如果这一切还象指针那样由程序员来管理,难度是很大的。好在GO语言中这一切由系统来自动管理,程序员使用切片的名字来引用特定的内容,而不需要知道它们变动到了实际内存的哪块位置。引用的实质是用名字操作代替了指针操作,从而屏蔽与简化了这背后的指针操作复杂性。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2724 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传