Swap two numbers golang : <p>I am trying to understand the internals of go. Consider the following code</p>

<pre><code>a,b := 10,5
b,a = a,b
</code></pre>

<p>The above code swaps 2 number perfectly and a becomes 5 and b becomes 10. I am not able to understand how this works. Considering in the second line of code, if a is assigned to b first, then b would be 10. Now if we assign b to a then shouldn't a be 10 too.</p>

<p>Please help me understand how this works</p>

<p>Thanks</p>
