Skip to content

Latest commit

 

History

History
55 lines (41 loc) · 1.56 KB

README.md

File metadata and controls

55 lines (41 loc) · 1.56 KB

Everything Go

header1

This repository includes all my code while learning the concepts of Golang!

Essential Theory

Some facts about Go

  • developed by Google in 2007
  • open Sourced in 2009

Why do we need Go? - Go Use cases

  • 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

Characteristics of Go

  • 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

Some Advantages

  • Simple syntax: easy to learn, read and write code
  • Fast build time, start up and run time
  • Requires fewer resources
    • Efficient garbage collection (GC)