Repo for Learning Go

What is Go?

Go is an Open Source programming language created by Google.

Go is:

  • statically typed language
  • has fast startup time and low runtime overhead
  • able to run without VM
  • great for concurrent programming
  • great for microservices

Content

Go CLI and File Structure

Notes Reference: Intro

  • CLI: General built in commands
  • File Structure: packages, imports, function and file organization

Go Fundamentals

Notes Reference: Basic

  • Variable declarations and reassignmsent
  • Basic Data Types
  • Array and Slice
  • Control Flow
    • Loops
    • Conditionals and Switches
    • Branching
    • Defer and Stacking Defer
    • Function and Return Types
  • Object Oriented Programming
  • Reference vs Value Types (pointer)
    • Pass by Value

Data Type Conversions

Notes Reference: conversion

  • Common conversion (strconv)
  • Floats and Exponents
  • Base String
  • Joins / Split
  • Randomization

Structs and Pointers

Notes Reference: Structs

  • Struct literals
  • Embedded Structs
  • Struct with Receiver Function
  • Pointers
  • Struct with Pointers

Maps

Notes Reference: Map

  • Map vs Struct
  • Initialization
  • Manipulating Map
  • Iterate Over Map

Interfaces

Notes Reference: Interface