- Numbers, Strings, Boolean
- Arrays, Slices
- π» Isolating Go Slices: How to create separate slices from an array safely
- How Capacity of Slice increases on append()
- Slices Deep vs Shallow Copy
- Read Input using
fmt.Scan
&fmt.Scanf
- Read Input using
bufio
- String Formatting - Different Format Specifiers
- Maps & Structs
- Receiver Functions(Promotes Encapsulation) - Methods on Struct or any other specific Type
- Maps are not Reference Variables
- Why
nil
Slices accept new values, butnil
Maps don't
- Functions, Anonymous Fns, Recursive Fns
- Variadic Functions - Ever wondered how
fmt.Println
accepts any number of args without passing them as a list? - Classic for loop, for-in, for loop as while loop, Range over integers
- Pointers Introduction
- π» new() vs make() & Zero-Values of all types
- π» Does Go supports Pass By Ref ?
- Using Pointers with Structs
- Sequential vs Concurrency Execution - Fibonacci
- Channels - Buffered, UnBuffered, Select Statement, Creating Stream using Channels
- Concurrency Patterns - FanIn(Multiplexing), FanOut(DeMultiplexing)
- Producers, Consumers Pattern(Imp for interviews)
- Context Package - Managing deadlines, Cancellations, Setting Timeouts
- π» Stop doing expensive computations when http client is disconnected in between