This repository includes all my code while learning the concepts of Golang!
Essential Theory
- developed by Google in 2007
- open Sourced in 2009
- Over the years, infrastructure became:
- Scalable & Distributed
- Dynamic
- More Capacity
- Multi-Threading Use Cases
- running two or more processes in parallel
- Built-in concurrency mechanism
Essentially, here are is the main use case of Go:
- Building performant applications
- Running on scaled, distributed systems i.e. where there are 100s or 1000s of servers!
- Mostly use with Cloud Development
- Go is an attempt to combine:
- simple and readable syntax of a language like Python (which is dynamically typed)
- efficiency and safety of a low-level language like C++ (which is statically typed)
- Mostly used as a server-side or backend language
- Can be used to write:
- microservices
- web apps
- database services
- Few examples of production-grade Go use cases:
- Kubernetes
- Docker
- Hashicorp Vault
- Cockroach DB
- Compiled language - That means this can be compiled into a single binary (machine code) and we can use this same binary file across different OS
- Simple syntax: easy to learn, read and write code
- Fast build time, start up and run time
- Requires fewer resources
- Efficient garbage collection (GC)