The strconv function simply acts in the same manner as the language does, see https://play.golang.org/p/rg0VwhCDVB_C
The idea for strconv originates in c (see atoi etc), and c also has 0-octal notation.
Go is simply mimicing c in this regard.
> What was the Golang team thinking?!
They were helping you not misuse the function, as you are doing in your example (you are trying to parse strings containing invalid number representations as integers).