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

在 go 中使用大小或无符号整数类型的原因是什么?

在 go 中使用大小或无符号整数类型的原因是什么?

Go
潇潇雨雨 2021-12-07 10:27:50
在“基本/基本类型”一章中进行游览,它说:当你需要一个整数值时,你应该使用 int ,除非你有特定的理由使用一个大的或无符号的整数类型。这些具体原因是什么?我们能说出他们的名字吗?其他可用资源仅讨论 32 位和 64 位有符号和无符号类型。但是为什么有人会使用 int 类型 < 32 位?
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

如果你想不出不使用标准的理由int,你应该使用标准int。在大多数情况下,节省内存并不值得付出额外的努力,而且您可能不需要存储这么大的值。

如果要保存大量的小值,则可以通过将数据类型更改为较小的数据类型(例如byte. 以某种int方式存储 8 位值意味着我们为每 8 位数据存储 24 位零,因此浪费了大量空间。当然,您可以int使用一些 bitshift 魔法将 4 个(或 8 个)字节存储在一个内部,但是当您可以让编译器和 cpu 为您完成工作时,为什么还要努力工作呢?

如果您正在尝试进行可能不适合 32 位整数的计算,您可能需要一个int64替代,甚至 bigint。


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信