优化struct 结构,减少内存分配
代码
package main
import (
"fmt"
"unsafe"
)
type myStruct struct {
myInt bool // 1 byte
myFloat float64 // 8 bytes
myBool int32 // 4 bytes
myString string // 8 bytes
}
type myStructOptimized struct {
myFloat float64 // 8 bytes
myString string // 8 bytes
myInt int32 // 4 bytes
myBool bool // 1 byte
}
func main() {
a := myStruct{}
b := myStructOptimized{}
fmt.Println(unsafe.Sizeof(a)) // unordered 40 bytes
fmt.Println(unsafe.Sizeof(b)) // ordered 32 bytes
}
原理:
0