Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/verma-kunal/everything-go

This repository includes all my code while learning the concepts of Golang!
https://github.com/verma-kunal/everything-go

golang

Last synced: about 5 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

# Everything Go

![header1](https://github.com/verma-kunal/everything-Go/assets/72245772/e0eac6c9-a5f9-4304-9bc0-c2e2d95de2c4)

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)