title: how and why Golang binary shows file and line info on the error
body: <p>i was playing around with go sync groups and i just tried what happens if i add more groups than i mark done . and i get the runtime error i posted below.
  <img src="https://i.imgur.com/wRHuDn3.png" alt="">
  So the question here is if go is compiled into true machine code unlike java or c# how come my file even line info can be shown in runtime errors .If file info is kept in the binary i think it can be easily decompiled .
  Am i doing something wrong do i need to add some kinda env variable for prod builds or its just like c# theres no true way to hide your code</p>