type One struct {
id1 int8
id2 int32
id3 int8
}
type Two struct {
id1 int32
id2 int8
id3 int8
}
func main() {
fmt.Println(unsafe.Sizeof(One{})) //size为12
fmt.Println(unsafe.Sizeof(Two{})) //size为8
fmt.Println(unsafe.Sizeof("222222222")) //size为16
fmt.Println(unsafe.Sizeof(111111111)) //size为8
fmt.Println(unsafe.Sizeof(1.1)) //size为8
}
这样我们在写代码定义结构体变量时,注意设定他的大小和顺序
对齐内容可看一篇文章:https://zhuanlan.zhihu.com/p/53413177