Go made easy.
Clear, thorough modules with runnable examples and checklists — beginner to advanced.
Curriculum
7 of 13 sections done
- Done
00 – Toolchain & Environment
How to install Go and deep dive into the toolchain and workspace environment.
- Done
01 – Basics First
Variables, functions, pointers, strings/runes/bytes, control flow, and structs.
- Done
02 – Packages & Visibility
Organize code across packages, export rules, visibility, and modular layouts.
- Done
03 – Error Handling
Go’s error philosophy, panics, stack unwinding, and practical error ergonomics.
- Done
04 – Memory
Stack vs heap, globals, padding/alignment, sizeof/alignof, GC basics, and endianness (big/little).
- Done
05 – Data Structures
Slices, arrays, maps, sets; how slices are pointer+len+cap; performance tips.
- Done
06 – Input, Output & FS
IO, files & streaming, directories, env vars.
- WIP
07 – Generics
Type parameters, constraints, type sets, and designing ergonomic generic APIs.
- WIP
08 – Concurrency
Goroutines, channels, context — plus a deep dive into the Go scheduler and "share memory by communicating" in practice.
- WIP
09 – Weak Refs & Unsafe Pointers
Go beyond everyday pointers: weak references for non-owning links, and unsafe.Pointer for low-level memory tricks.
- WIP
10 – Reflection
Struct tags, runtime type inspection, metaprogramming, and unsafe pitfalls.
- WIP
11 – AST & Tooling
go/ast & go/parser, walking trees, simple transforms, and tying back to the compiler.
- WIP
12 – Idiomatic Go & Best Practices
Conventions, style, patterns, and writing maintainable, idiomatic Go.