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

https://dlintw.github.io/gobyexample/public/memory-and-sizeof.html

它展示了如何计算变量的大小。但我想计算一个类型的 sizeof(例如,'uint32')。有没有办法在 Go 中做到这一点。


慕田峪4524236
浏览 251回答 1
1回答

慕婉清6462132

使用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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go