I predict the future for go is bright. We're now a few years after this post and things are still looking up. It's interesting though to see the areas where go has had most success - I think on the server it's done really well, but on mobile or desktop it is simply not present, mainly due to the lack of a UI library. A UI library however is a huge amount of work for little gain against multiple moving target which have no incentive to make cross platform solutions work. It's a losing proposition. The vendors of mobile and desktop solutions need lock-in, and don't want to see cross platform solutions flourish.
I'm not sure it'll ever supplant Java in the enterprise, or if I'd want it to - if it does the pressure would be enormous for it to support lots of cruft and legacy formats, and design patterns and frameworks would emerge which made everything more complex and laden with bureaucracy, because that's the nature of the enterprise. A language is to a great extend defined by its culture, and I like that Go has a small footprint and a culture of minimalism.
Nice to see a post about this - goroutines are incredibly easy to use and don't have many pitfalls but channels are a bit harder to grok in my experience. I find the syntax for them a little obtuse, though I'm sure if you got used to it it'd be easy to use.
Nice that they have a separate library (gps) for resolving dependencies, in many ways that's the most difficult and least interesting part of package management - most people just need a simple solution that pulls versions reliably so that they get reproducible builds. I do think this could have been just built into the go tool from the beginning using semver.