I've come to the same conclusion. After teaching several other developers how to Golang, coming from the same general background as me, I found that as we grew in lines of code that Go's error value system was actually really really useful and helped develop more defensive programming styles. Being able to define your own errors and use those instead of instantiating a string every time or having non-standard error string formats.
It gets in your way at the beginning but once you get beyond a module or two, it's quite useful, novel, and under appreciated.
It gets in your way at the beginning but once you get beyond a module or two, it's quite useful, novel, and under appreciated.