- Super strong forward compatibility with careful attention to versioning and dependency. Libraries are super stable, and you can have very few external dependencies.
- Great restraint to add ‘good-to-haves’ versus what you really need. So you get only two generic(ish) data structures of arrays (slices) and dictionaries (maps).
- It comes with almost everything you need: the basic go test framework for testing; a sync package that covers most sync primitives that you may need; and an encoding package that works with json, xml, csv and other common formats.
- The internal formatting tool gofmt provides enough consistency that your code looks idiomatic. This makes open-source code a lot more readable too.
Full post here, 5 mins read