Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在go中使用大小或无符号整数类型的原因是什么?_Go - Fatal编程技术网

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

在go中使用大小或无符号整数类型的原因是什么?,go,Go,在“基本/基本类型”一章中进行go tour,它说: 当需要整数值时,应使用int,除非有特定原因使用大小或无符号整数类型 这些具体原因是什么?我们能说出他们的名字吗 其他可用资源仅讨论32位和64位有符号和无符号类型。但是为什么有人会使用int类型

在“基本/基本类型”一章中进行go tour,它说:

当需要整数值时,应使用int,除非有特定原因使用大小或无符号整数类型

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


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

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

如果要保存大量的小值,可以通过将数据类型更改为较小的数据类型(例如
byte
)来节省大量内存。在
int
中存储8位值意味着每8位数据存储24位零,因此浪费了大量空间。当然,你可以在
int
中存储4(或者8)个字节,但如果你能让编译器和cpu帮你做,为什么还要这么辛苦呢


如果您试图进行的计算可能不适合32位整数,则可能需要使用
int64
,甚至是bigint

可能重复的相关:可能重复的如果需要存储一百万个音频样本,其中每个样本的范围为0-255,则如果使用32位类型存储每个样本,将浪费大量内存并可能加快速度。这是一个原因。我相信我们不能说出所有的原因。你这里有两个独立的问题。首先,链接的副本提供了很好的答案。第二,它只是使用更少的内存。