title: Bitwise XOR on address in GoLang
body: <p>I was trying to implement the XOR Linked List in Go where I had to store the XORed address. In C/C++ it's quite simple</p>
  
  <pre><code>(*struct_type)(([unsigned] int)nodeA ^ ([unsigned] int)nodeB)
  </code></pre>
  
  <p>I tried a similar approach in Go. I had a struct named Node with two nodes nodeA and nodeB. To get this I tried the following ways:</p>
  
  <pre><code>*Node(uint(nodeA) ^ uint(nodeB))
  </code></pre>
  
  <p>Which gave me an error saying, can't convert type Node to uint.
  Another way I tried, which I was sure woundn't work, was</p>
  
  <pre><code>nodeA ^ nodeB
  </code></pre>
  
  <p>Is there a way to parse the address to int type, XOR them and then re-parse them into Node address? Or does Go provide a simple solution to this that I'm not aware of?</p>