【发布时间】:2014-02-25 23:33:52
【问题描述】:
C++ 和其他几种语言都有一个名为 sizeof(int)(或您需要的任何类型)的函数,它返回当前系统中特定数据类型消耗的字节数。
Go 中有没有等价的函数?这是什么?
【问题讨论】:
-
请注意,在 Go 中,99.9% 的时间这些信息都是无用的(这就是为什么
Sizeof内置在unsafe包中)所以如果你对这些东西感兴趣您可能正在考虑直接解释来自外部的某些字节序列(产生它们)。除非你是高手并且真的知道你将要做什么,那没关系,否则,请三思而后行。请参考this处理类似的谬误。 -
@kostix - 我有一个很久以前用 C++ 编写的内存数据集库 - 它使用字节缓冲区来保存其数据,我使用 sizeof() 来定义缓冲区偏移量。我正在用 Go 复制那个库——我想它会帮助我快速进入很多不同的领域。但随着我的学习,我在 C++ 中的做法可能不是 Go 的做事方式......
-
我已经发布了我对此想法的总结作为答案(评论太短了)。希望它会以某种方式有用。