Each module will have a test/
folder. To verify your knowledge, please fork this repo and ensure that each test/
passes CI.
Each module has the following sections:
- Concepts
- Exercises
- Tips
- Further Reading
- Go Setup
- Local install
- System validation
- Hello World
- Line by line walkthrough
- Compile and run
- Project Organization
Module 2 - Basics
- Types
- Basic types
- Aliases
- Variables
- Declaration and Assignment
- Zero values
- iota
- Functions
- Arguments
- Multi-valued returns
- Anonymous functions
- Closures
- Control Flow
- if/else
- for/break/continue
- short statements
- defer
- panic/recover
Module 3 - Data Structures
- Pointers
- Dereferencing
- Structs
- Definition
- Declaration/Assignment
- Fields
- Nested Structures
- Methods
- Container Types
- Slices
- Lists
- Maps
- Looping
Module 4 - Design
Module 5 - Concurrency
- Goroutines
- Channels
- Unbuffered / Buffered
- Directional Arguments
- Select
- Close
- Sync
- Mutex
- Once
- WaitGroup
Is something explained poorly? Or flat out wrong? Let me know!