Why Go? Primary Use Cases
Go, like a lot of other modern languages, is capable of working in many different spaces. However, in order to keep on with our theme of simplicity, we find that Go doesn't try and be the best in all use cases. It has focused itself down to try and become the best at creating a very select set of applications.
1. Cloud and network services
Go standard library, lightweight syntax, and natural ability to work concurrently and with network‑enabled applications often makes it an ideal candidate for creating these types of applications. As a matter of fact, Go is often one of the first choices for organizations when they're creating a distributed system that relies heavily on microservices. Those microservices can be spun up very quickly and very easily using the Go language.
2. Command-line interfaces
Go is commonly tapped for the creation of command‑line interface types of programs often used in operations and DevOps teams. Go's lightweight syntax and rapid compilation allow the strongly typed nature of Go to be used and still allow it to feel like a scripting language like Bash. So we get the benefits of the rapid compilation of Bash and that rapid development cycle, but we combine that with the strong type system that Go offers to us to allow our script‑like programs to become more robust.
3. Cloud infrastructure
Go has dominated the cloud infrastructure space. We see that almost any place you look in the cloud infrastructure, you're going to find the Go language used. Three of the most common places that you'll find Go is in the creation of Docker, Kubernetes, and Terraform. These three pillars of cloud application development are all built in the Go language and demonstrate Go's capability to support and thrive in today's cloud‑based application environment.
Reference
Pluralsight- Go: The Big Picture