为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在golang中计算类型的大小?

有没有办法在golang中计算类型的大小?

Go
慕田峪4524236 2022-06-13 10:28:02
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


查看完整回答
反对 回复 2022-06-13
  • 1 回答
  • 0 关注
  • 250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号