[0]byte在golang中不应占用任何内存空间.但这两种结构有不同的尺寸.
[0]byte
type bar2 struct { A int _ [0]byte } type bar3 struct { _ [0]byte A int }
那么为什么[0]byte这里的事情的位置呢?
顺便说一句,我使用unsafe.Sizeof()方法来检查结构大小.查看完整示例.
unsafe.Sizeof()
memory struct sizeof padding go
go ×1
memory ×1
padding ×1
sizeof ×1
struct ×1