我在代码库中看到 ^0。
示例:
type stat struct { ... min int64 ... } newStat := stat{min: ^0}
^0是什么意思?
根据文档:
^x 按位补码是 m ^ x,其中 m =“所有位设置为 1”
无符号 x 且 m = -1(对于有符号 x)
因此 ^x
反转 x
中的每个位,例如。 0101
变为 1010
。这意味着^0
与其他主流语言中的~0
是一样的。
当使用二进制补码表示负数时(大多数编程语言都这样做) ,零的按位补码(所有位均为 1)的值为 -1。所以这是一种写法:
newStat := stat{min: -1}