【Go 夜读】第 84 期图解 Go 之内存对齐

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

>文章来源于:https://talkgo.org/night/84-2020-04-02-go-aligned/ ## YouTube https://youtu.be/8a2G2MXRUxw ## 简介 关于内存对齐总会有各种声音?为什么要对齐,怎么对齐,不对齐有什么影响么? 这些声音可以离我们很远,也可以很近,比如: - 当你想弄明白`WaitGroup.state1`为什么是`[3]uint32`而不是`[12]byte` - 当你想知道`struct`是否占用内存是否合理 - 当你不希望在32位系统上原子操作`int64|uint64`时发生panic - 当你闲着没事就是想读读源码提升下逼格。。。 本次分享借自己研究内存对齐的一些代码及源码示例,为大家带来Go里边的内存对齐是什么样的,以及如何利用内存对齐优化数据结构,提高代码的平台兼容性。 ## 大纲 - 了解内存对齐的收益 - 为什么要对齐 - 怎么对齐: - 数据结构对齐 - 内存地址对齐 - 64位字的安全访问保证(32位平台) **更多原创文章干货分享,请关注公众号** ![](https://static.gocn.vip/photo/2020/61284b9d-4bf0-4ac6-9c51-06d3e2b2d964.jpg?x-oss-process=image/resize,w_1920)

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

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

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