gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:44:18 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to get memory size of variable?

(5 个回答)



How to get memory size of variable in Go?

(3 个回答)


1年前关闭。




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

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

最佳答案

使用Type.Size获取类型的大小。

t := reflect.TypeOf((*uint32)(nil)).Elem()
fmt.Println(t.Size()) // prints 4

表达式 reflect.TypeOf((*X)(nil)).Elem()获取 reflect.Type对于任何类型 X .

对于 uint32 和其他数字类型,更简单的表达式 reflect.TypeOf(uint32(0))可用于获取类型。

unsafe.Sizeof函数也可以工作,但它需要一个类型的值。
fmt.Println(unsafe.Sizeof(uint32(0)))  // prints 4

关于go - 有没有办法在golang中计算类型的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62374940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com