https://dlintw.github.io/gobyexample/public/memory-and-sizeof.html它展示了如何计算变量的大小。但我想计算一个类型的 sizeof(例如,'uint32')。有没有办法在 Go 中做到这一点。
1 回答

慕婉清6462132
TA贡献1804条经验 获得超2个赞
使用Type.Size获取类型的大小。
t := reflect.TypeOf((*uint32)(nil)).Elem() fmt.Println(t.Size()) // prints 4
该表达式reflect.TypeOf((*X)(nil)).Elem()
获取任何类型的reflect.TypeX
。
对于 uint32 和其他数值类型,reflect.TypeOf(uint32(0))
可以使用更简单的表达式来获取类型。
unsafe.Sizeof函数也可以工作,但它需要一个类型的值。
fmt.Println(unsafe.Sizeof(uint32(0))) // prints 4
- 1 回答
- 0 关注
- 250 浏览
添加回答
举报
0/150
提交
取消