For me it's my choice when I'm facing the following cases: a customer facing web service, so fast responses are appreciated I'm crunching numbers from some data store I need a low footprint for my data structure use cases I faced was: I need a service for customers to service resized versions of images, in that case this is computationally expensive and sensitive to any language overhead I needed a fulltext search for more than 20M records, Go can crunch them faster than any other language I have in my skill set. I need to crunch more than 3M records in less than a minute, generating analytics and serving them to users use cases I didn't choose go for: I needed a service that takes periodic backups of the database maintaining a fixed set of old backups (it's not customer facing and delay isn't that problematic) a website that serves HTML pages to the user depending on database tables...etc, I used rails for that as it was more flexible/productive for me (I had thoughts to rewrite it in Go, but then thought it's not worth it, as rails productivity was over Go speed in that case)