int, int32, int64
中有Golang
。
int32 has 32 bits,
int64 has 64 bits,
int has 32 or 64 or different number of bits according to the environment.
我认为int32
和int64
对于该计划来说已经足够了。
我不知道为什么int
类型应该存在,它不会使我们的代码操作更难以预测吗?
同样在C++
中,输入int
和输入long
的长度不确定。我认为这将使我们的计划变得脆弱。我很困惑。
答案 0 :(得分:4)
通常waitDialog.cancel();
的大小等于目标的自然字大小。因此,如果您的程序不关心int
(最小int
范围就足够了)的大小,那么它可以在各种编译器上表现最佳。
当您需要特定尺寸时,您当然可以使用int
等。
答案 1 :(得分:4)
通常每个平台最适合其原始大小的整数类型。
通过使用简单的int
,你对你的编译器说你并不真正关心使用什么位宽,你让他选择一个最快的工作。请注意,您始终希望编写代码,以使其尽可能与平台无关......
另一方面,如果您需要具有特定大小的整数,则int32
/ int64
类型非常有用。这可能是有用的。如果你想保存二进制文件(不要忘记endiannes)。或者,如果你有大量的整数(最多只能达到32b的值),那么节省一半的内存就会很重要等等。
答案 2 :(得分:0)
在Go to 1.0的版本中,int
只是int32
的同义词 - 一个32位整数。由于int
用于索引切片,因此这会阻止切片拥有超过20亿个元素。
在Go 1.1中,int
was made 64 bits long on 64-bit platforms,因此足以索引适合主内存的任何切片。因此:
int32
是32位整数的类型; int64
是64位整数的类型; int
是可以索引所有可能切片的最小整数类型。在实践中,int
足够大,可用于大多数实际用途。仅在操作大于最大可能切片索引的值时才需要使用int64
,而在不需要更大范围时,int32
对于节省内存和减少内存流量非常有用。