我正在使用64位服务器。我的golang程序需要整数类型。
因此,如果我在源代码中使用uint16和uint32类型,是否比使用大多数常规int类型花费更多?
我正在考虑计算成本和开发成本。
最佳答案
在大多数情况下,使用int
更有意义。
原因如下:
int
,那么您应该期望将代码进行多种类型转换,因为其他库或API宁愿不打扰无符号类型,因为无类型的常量数值表达式返回int
值等。math.MinInt64
转换为uint
,但可以轻松地将值int
的math.MinInt64
变量转换为uint
。可以说,使用if
检查您要分配的值对于程序是否有效并不是一个坏的Go风格。 除非您遇到显着的内存压力,并且您的值空间比较小的有符号类型所提供的空间略大一些,否则我认为即使由于开发成本,使用
int
也会更加高效。即使这样,也有可能是程序的内存占用量存在其他问题,或者像Go这样的托管语言并不是最适合您的需求。
关于go - 在Golang中,uint16 VS int,哪个成本更低?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36144644/