Skip to content

Latest commit

 

History

History
81 lines (71 loc) · 2.44 KB

README.md

File metadata and controls

81 lines (71 loc) · 2.44 KB

LetsGO!


GO Programming Language!

Getting Started with GO!
GO Documentation »

This repository will keep track of my GO learning experience. The entire phase is divided into 4 Weeks. It will include my personal notes as well as Documentation snippets provided by the GO Community. Follow along of you want to get started with Go.

Contents

Week 1:

  1. Why GO?

  • Fast-paving compilation and execution
  • Do away with the need of working with different subsets of languages for one project.
  • A boost to code readability and documentation
  • Offering a thoroughly consistent language
  • Facilitating easy versioning of the program
  • Allowing developing with multiple languages
  • Allowing easier maintenance of dependencies
  1. GO vs. other High Level Languages.

  2. Advantages of GO!

  • Concurrency Support
    • Management of multiple tasks at the same time.
    • Solves the problems in Parallelism (i.e : Conflict in Memory, Dependent tasks, When do tasks start and stop etc. )
  • Garbage Collection
    • Automatic memory management.
    • Gives a ton of control over memory allocation.
    • Reduces latency to 1ms. Uses algorithm of Tricolor Mark & Sweep.
  • Simplicity
  • Scalability
    • Need of the hour with growing Applications.
    • Features such as Concurrency, Goroutines, Channels help in improving Scalability.
  1. Setting up Develepment Environment.

Week 2:

  • Writing our first GoLang Program, i.e "Hello World".
  • Variables
  • Variables Initialization
  • Pointers
  • Variable Scope
  • Deallocating Memory
  • Garbage Collection
  • Comments, Printing
  • Data Types : int, float, strings
  • String Packages
  • Control Flow, Scan()
  • Assignment

Week 3 :

  • Arrays
  • Slices
  • Hashtables
  • Maps
  • Structs
  • Assignment

Week 4 :

  • RFC
  • JSON
  • File Access - IOUtil
  • File Access - OS