Go 语言 int、int32、int64 的问题

int 在 32 位机器上相当于 int32,在 64 位机器上相当于 int64。也就是 int 的范围在不同的运行环境中不一致。
比如:一段代码在 64 位机器的开发环境下运行正确,到 32 位的生产环境就可能出问题,而使用 int64 就可以避免这个问题。
我的问题是:为什么不弃用 int,直接使用 int32 或 int64?这样能保证在不同环境下运行结果一致。而现在反而 int 用的最普遍。

阅读 4.1k
1 个回答

一般对 int 变量的使用,int32 已经足够了。
如果 int32 / int64 会对程序运行结果产生影响,那么应该显示指定。但是,大多数情况下都没有必要。

另外,int 一定是 int32/in64 运算最快的那一个。所以,没有特殊需求的时候,都是 int 。


其实,64 位机一般 int 也是 int32 ,它只是地址是 64 位的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题