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

时间:2016-01-14 17:31:30

标签: go

在章节"基础/基本类型"中进行导览。它说:

  

当你需要一个整数值时,你应该使用int,除非你有特定的理由使用大小或无符号整数类型。

具体原因是什么?我们能说出所有这些名字吗

其他可用的资源只讨论32位和64位有符号和无符号类型。但是为什么有人会使用int类型< 32位?

1 个答案:

答案 0 :(得分:2)

如果您无法想出不使用标准int的原因,则应使用标准int。在大多数情况下,节省内存并不值得付出额外的努力,无论如何你可能不需要存储那么大的值。

如果要保存大量小值,则可以通过将数据类型更改为较小的值来节省大量内存,例如byte。在int中存储8位值意味着我们每8位数据存储24位零,因此浪费了大量空间。当然,你可以在int内部存储4个(或者8个)字节,并且有一些bithift魔法,但是为什么你可以让编译器和cpu为你做这件事的努力工作呢?

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