Actually I think that Go is exactly lacking lots of paradigms and is only good enough for people looking for a better C, as it lacks many of the abstractions from mainstream languages.
But if you are conformable with it, by all means use it.
But if you are conformable with it, by all means use it.
- generics - enumerations (the iota thing feels like a poor man's enums) - operators as method names - lack of exceptions leads sometimes to ugly defer/recover patterns - some data types are special like maps, as you cannot implement similar types yourself