乍一看,当您需要一个不想成为负数的 int 时,似乎有人可能会选择 uint。然而,在实践中,似乎 int 几乎总是首选。
我看到一般建议,例如:
“一般来说,如果你使用整数,你应该只使用 int 类型。”
“uint 通常只用于进行二元运算”
“不要使用无符号类型来强制或建议数字必须是正数。这不是它们的用途。”
“这是 Go 编程语言所推荐的,当你想要进行按位运算时,uint 的具体示例很有用”
我还注意到 Go 会让你将负 int 转换为 uint 并给出一些奇怪的结果:
x := -5 y := uint(x) fmt.Println(y) >> 18446744073709551611
所以,我的理解是,在处理整数时,我应该始终使用 int,而不管符号如何,除非我发现自己需要 uint,并且在这种情况下我会知道(我认为???)。
我的问题:
这是正确的外卖吗?
如果是这样,为什么会这样?
什么时候应该使用 uint 的例子是什么?- 也许是一个具体的例子,而不是“进行二进制操作时”,因为我不确定我知道这意味着什么:)
另外,我问的是 Go 的具体实现。
湖上湖
月关宝盒
相关分类