Hi and welcome ! Go is eager and static but not a truly deterministic programming language. So the result is 48 and 48 because think(&1) is executed before (i/2), or rather: sum1 = (7) + 41. For sum2 is the same. Go doesn’t force the evaluation of the right or left operand in the sum expression. This behavior seems error prone but pushes you a lot to write more clear code, decomposing complex statements and expressions.
For more informations let’s see this.