标签: go syntax operators conventions
大多数编程语言使用~来表示一元按位非操作。相反,使用^:
~
^
fmt.Println(^1) // Prints -2
为什么Go设计师决定在这里打破惯例?
答案 0 :(得分:7)
因为^ x等于m ^ x,其中m =“对于无符号x,所有位设置为1”,对于带符号x,m = -1。 Says so in the spec
它类似于-x是0 - x