Plus it was described as a language to solve Google problems. And we all wanted to be like Google.
In fairness there is a category of systems for which it was about the least-worst fit at the time: distributed concurrent systems where a JVM was unwelcome. Pascal and its progeny were seen as passé, C/C++'s deficiencies well-known by this point, the scripting languages woefully underperformant, the JVM was the punchline of many jokes despite being a phenomenal engineering achievement, D still mired in some kind of civil war over standard libraries and I imagine thousands of other contenders for an undiscovered throne.
But without Google? Pike? There's no chance any of this would've mattered enough.
I think you're exactly right about the "category of systems" thing. If you're "just"[0] moving protobufs across networks, then Go seems like a perfect langauge, esp. if you can just codegen the protobuf code. There's obviously more to it, but that seems to have to been the spark. To be fair, Go does does seem to work quite well for infrastructure code, but in those use cases you're usually just working with very concrete things and are not super-worried about abstracting over "effects" and that sort of thing... because it's all effects and everything is extremely concrete if you're interacting with e.g. the Linux 'container' infrastructure.
In fairness there is a category of systems for which it was about the least-worst fit at the time: distributed concurrent systems where a JVM was unwelcome. Pascal and its progeny were seen as passé, C/C++'s deficiencies well-known by this point, the scripting languages woefully underperformant, the JVM was the punchline of many jokes despite being a phenomenal engineering achievement, D still mired in some kind of civil war over standard libraries and I imagine thousands of other contenders for an undiscovered throne.
But without Google? Pike? There's no chance any of this would've mattered enough.