Go sometimes subsitutes literal character codes (e.g. '\u2206') with other runes. This doesn't happen if the literal is written as a number (e.g. 0x2206 ). I am not sure why Go does this.