在Go语言中,如何区分 `^` 的两种不同用法?

2026-05-25 13:450阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1246个文字,预计阅读时间需要5分钟。

在Go语言中,如何区分 `^` 的两种不同用法?

这 几 天 研究 Go 源码,意外发现一个之前未见过的位运算,即 `new ^=mutexWoken` 和 `^`,分别表示 AND 和 XOR 操作。这个位运算值得探讨。在 我的 观察中,这个符号 `^`,直接代表 XOR 运算。

这几天在研究 Go 的源码,突然发现了一个之前没有见过的位运算,见这里

new &^= mutexWoken

&^,分别表示 AND 和 XOR,这个不用多说。

值得一提的是 ^ 这个符号,在我的印象中,它一直是一个二元运算符,平时见的最多的是 a ^ b 这种用法。

但是实际上它还是一个一元运算符。单走一个 a 也是没问题的,例如 ^a

阅读全文
标签:源码突然

本文共计1246个文字,预计阅读时间需要5分钟。

在Go语言中,如何区分 `^` 的两种不同用法?

这 几 天 研究 Go 源码,意外发现一个之前未见过的位运算,即 `new ^=mutexWoken` 和 `^`,分别表示 AND 和 XOR 操作。这个位运算值得探讨。在 我的 观察中,这个符号 `^`,直接代表 XOR 运算。

这几天在研究 Go 的源码,突然发现了一个之前没有见过的位运算,见这里

new &^= mutexWoken

&^,分别表示 AND 和 XOR,这个不用多说。

值得一提的是 ^ 这个符号,在我的印象中,它一直是一个二元运算符,平时见的最多的是 a ^ b 这种用法。

但是实际上它还是一个一元运算符。单走一个 a 也是没问题的,例如 ^a

阅读全文
标签:源码突然