• I don't know, I quite like the tradeoffs in Go between keeping the language small. A small language lets you learn it all very quickly, at the cost of having less stuff built in. This is definitely a tradeoff though and comes with downsides (having to iterate over values a bit more than you might in something like ruby). It's not complex to write a function if you really get keys from a map a lot:

    https://play.golang.org/p/EgtnbysZ9-

    but often if you want the keys you want to do something with them, so you'd want to iterate them anyway, I think this has come up just a few times for me. If you want a simple set that's easy, if you want a complex one it's not hard to write one yourself that does exactly what you need. This doesn't present much of a roadblock in real code, it's just slightly less convenient.