&gt; int8(100) + int8(100) = -56<p>is just one possible answer. Signed integer overflow depends on signed integer representation in go (it&#x27;s undefined for unsigned integers in C):<p><a href="https:&#x2F;&#x2F;golang.org&#x2F;ref&#x2F;spec#Integer_overflow" rel="nofollow">https:&#x2F;&#x2F;golang.org&#x2F;ref&#x2F;spec#Integer_overflow</a><p>So the SafeAddInt8 in the blogpost may not be correct on architectures that use really strange representations.<p>Lots of C developers that wanted to make their code safer ran into a related trap in C. There it&#x27;s totally undefined and the compiler may just throw the check out all together.<p>I wonder why Go doesn&#x27;t just define signed integers to be in 2&#x27;s complement representation. Are there any architectures out there that use something else for integers?