在go語言里我們經常使用struct作為數據存儲,由於指針對齊問題,可能結構體的大小也有所不同。
type DemoOne struct {
id int8
age int32
add int8
}
type DemoTwo struct {
age int32
id int8
add int8
}
上述兩個內容一致的結構體在占用的內存是多少呢?
func main() {
fmt.Println(unsafe.Sizeof(DemoOne{}))//size為12
fmt.Println(unsafe.Sizeof(DemoTwo{}))//size為8
}
由於指針對齊的問題,相同屬性的結構體,因為屬性的順序不同也會產生不同大小的內存占用。
