一尘不染

与Go语言中的特定类型(int64 / uint64)相比,常规类型(int / uint)有什么优势?

go

据我所知,intuint为64位有符号/无符号整数-就像int64/
uint64。而且我也明白,这int不仅是别名int64(例如byte->
uint8是),因此在适用时int64需要将其转换为int,反之亦然。但是,使用一个相对于另一个有什么好处?使用常规类型是否会影响运行时性能?

抱歉,如果这是一个常见问题-我曾在Google上搜索过答案(并在此处进行搜索),因为我曾以为其他人可能早就出现了,但是没有找到任何人回答它们对性能的影响(
(如果有的话),内存使用情况(我想不是它们都是64位整数吗?)还是编译器如何对待它们。

编辑:我知道int/ unit在32位体系结构上是32位。为了简洁起见,我假设这是一个64位的Golang环境。


阅读 1377

收藏
2020-07-02

共1个答案

一尘不染

int并且uint仅在64位体系结构上为64位。在32位体系结构上,它们是32位。

一般的答案是,除非需要一定的精度,否则在当前体系结构上坚持使用与字大小相同的数据类型(例如,在32位体系结构上为32位)通常会稍微提高效率。

2020-07-02