go 结构体不同的字段顺序对内存的影响

这里主要涉及到结构体内存分配的问题,如下测试:

package main
import (
"fmt"
"unsafe"
)
func main() {
fmt.Printf("A size: %d\n", unsafe.Sizeof(A{})) // 32
fmt.Printf("B size: %d\n", unsafe.Sizeof(B{})) // 24
fmt.Printf("C size: %d\n", unsafe.Sizeof(C{})) // 24
}
type A struct {
a int8 // 1+7
b string // 16
c bool // 1+7
}
type B struct {
a string // 16
b int8 // 1
c bool // 1, 1+1+6
}
type C struct {
b int8 // 1
c bool // 1, 1+1+6
a string // 16
}

参考:

posted on   进击的davis  阅读(7)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
历史上的今天:
2021-07-13 k8s按功能阶段-常用命令
2021-07-13 【linux】ubuntu1604下搭建k8s环境操作流程

导航

< 2025年2月 >
26 27 28 29 30 31 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 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示