[go]Sizeof及内存对齐

unsafe,顾名思义,是不安全的. 但是它也有它的优势,那就是可以绕过Go的内存安全机制,直接对内存进行读写,所以有时候因为性能的需要,会冒一些风险使用该包,对内存进行操作。

Sizeof到底量的是什么的尺寸?

Sizeof函数可以返回一个类型所占用的内存大小
这个大小只与类型有关,和类型对应的变量存储的内容大小无关,比如bool型占用一个字节、int8也占用一个字节。
func main() {
    fmt.Println(unsafe.Sizeof(true))                  //1
    fmt.Println(unsafe.Sizeof(int8(0)))               //1
    fmt.Println(unsafe.Sizeof(int16(10)))             //2
    fmt.Println(unsafe.Sizeof(int32(10000000)))       //4
    fmt.Println(unsafe.Sizeof(int64(10000000000000))) //8
    fmt.Println(unsafe.Sizeof(int(10000000000000000)))//8
}

猜你喜欢

转载自www.cnblogs.com/iiiiiher/p/12165898.html