在Go语言中,如何区分 `^` 的两种不同用法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1251个文字,预计阅读时间需要6分钟。
最近在研究Go语言的源码,突然发现了一个之前未见过的位运算。看到这里的`new ^=mutexWoken`和`^`,分别表示AND和XOR运算,这个不解释太多。值得提出的是`^`这个符号,在我的印象中,它一直代表异或运算。
这几天在研究 Go 的源码,突然发现了一个之前没有见过的位运算,见这里
new &^= mutexWoken
& 和 ^,分别表示 AND 和 XOR,这个不用多说。
值得一提的是 ^ 这个符号,在我的印象中,它一直是一个二元运算符,平时见的最多的是 a ^ b 这种用法。
但是实际上它还是一个一元运算符。单走一个 a 也是没问题的,例如 ^a。
本文共计1251个文字,预计阅读时间需要6分钟。
最近在研究Go语言的源码,突然发现了一个之前未见过的位运算。看到这里的`new ^=mutexWoken`和`^`,分别表示AND和XOR运算,这个不解释太多。值得提出的是`^`这个符号,在我的印象中,它一直代表异或运算。
这几天在研究 Go 的源码,突然发现了一个之前没有见过的位运算,见这里
new &^= mutexWoken
& 和 ^,分别表示 AND 和 XOR,这个不用多说。
值得一提的是 ^ 这个符号,在我的印象中,它一直是一个二元运算符,平时见的最多的是 a ^ b 这种用法。
但是实际上它还是一个一元运算符。单走一个 a 也是没问题的,例如 ^a。

