在Golang中没有bool类型的XOR运算符

首先

我在某个网站的编程技能测试中,为了练习,用golang解决了一个简单的问题。
在其他编程语言中,我使用了一些奇怪的方法,这些方法可能已经超出了工作的范围,我常常回想起这些方法,然后在脑海中闪现,对于不熟悉的语言,我会搜索一下该怎么做。

关于这个问题

if (/* 式1 */) /*XOR演算子*/ (/* 式2 */) {
  // 処理A
} else {
  // 処理B
}

在解决问题时,我曾经想使用bool类型的XOR运算符。然而,当我搜索“golang xor”时,只出现了关于两个int类型的位运算的搜索结果。于是我尝试搜索“golang xor bool”,结果只出现了与XOR无关的运算符。进一步调查发现……原来bool类型并不存在XOR运算符。

解决方法 (jiě jué fǎ)

然而经过仔细思考,虽然不是XOR运算符,但确实存在具有相同作用的替代方法。

if (/* 式1 */) != (/* 式2 */) {
  // 処理A
} else {
  // 処理B
}

考虑到每个表达式为True或False时会产生什么结果,我确实认为是这样的。

最后

希望能够避免思维僵化,不错过简单的解决方法……。

广告
将在 10 秒后关闭
bannerAds