Skip to content

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

Notifications You must be signed in to change notification settings

verma-kunal/everything-Go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Everything Go

header1

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

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)

About

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

Topics

Resources

Stars

Watchers

Forks

Languages