在Go规范,^ 这个运算符在一元运算符和二元运算符中都出现了。那么他们分别是啥?
在规范中说道:^ bitwise XOR integers
这是按位异或。比如:
package main
import "fmt"
func main() {
fmt.Println(5^2)
}
到这执行:[http://play.golang.org/p/iZioqWSSdA](http://play.golang.org/p/iZioqWSSdA)
一般语言中,按位取反是:~
Go中是不是这样呢?可以写个程序试一下:
package main
import "fmt"
func main() {
fmt.Println(~5)
}
可以点击这去运行:[http://play.golang.org/p/1I6KpsYsiJ](http://play.golang.org/p/1I6KpsYsiJ)
结果提示:prog.go:6: the bitwise complement operator is ^
可见,Go中是^