在go中使用大小或无符号整数类型的原因是什么?
在“基本/基本类型”一章中进行go tour,它说: 当需要整数值时,应使用int,除非有特定原因使用大小或无符号整数类型 这些具体原因是什么?我们能说出他们的名字吗在go中使用大小或无符号整数类型的原因是什么?,go,Go,在“基本/基本类型”一章中进行go tour,它说: 当需要整数值时,应使用int,除非有特定原因使用大小或无符号整数类型 这些具体原因是什么?我们能说出他们的名字吗 其他可用资源仅讨论32位和64位有符号和无符号类型。但是为什么有人会使用int类型
其他可用资源仅讨论32位和64位有符号和无符号类型。但是为什么有人会使用int类型<32位?如果你想不出不使用标准
int
的理由,你应该使用标准int
。在大多数情况下,节省内存并不值得付出额外的努力,而且您可能不需要存储那么大的值
如果要保存大量的小值,可以通过将数据类型更改为较小的数据类型(例如byte
)来节省大量内存。在int
中存储8位值意味着每8位数据存储24位零,因此浪费了大量空间。当然,你可以在int
中存储4(或者8)个字节,但如果你能让编译器和cpu帮你做,为什么还要这么辛苦呢
如果您试图进行的计算可能不适合32位整数,则可能需要使用
int64
,甚至是bigint 可能重复的相关:可能重复的如果需要存储一百万个音频样本,其中每个样本的范围为0-255,则如果使用32位类型存储每个样本,将浪费大量内存并可能加快速度。这是一个原因。我相信我们不能说出所有的原因。你这里有两个独立的问题。首先,链接的副本提供了很好的答案。第二,它只是使用更少的内存。