我在代码库中看到^ 0。
示例:
type stat struct {
...
min int64
...
}
newStat := stat{min: ^0}
^ 0是什么意思?
答案 0 :(得分:21)
根据the docs:
^ x按位补码是m ^ x,其中m =“所有位设置为1”,用于
无符号x和m = -1,用于带符号x
这意味着^0
与其他主流语言中的~0
相同。
在two's complement(大多数编程语言采用)上,零补码的值为-1(在有符号数据类型上)。所以这是一种写作方式:
newStat := stat{min: -1}