Go from Zero to Pro

Zero to advanced engineering practice · 6 modules · 41 lessons · each: objectives / explanations / runnable code / pitfalls / exercises

BeginnerGo Language Intro & Dev Environment9 lessons

Set up the environment, master basic syntax, functions and built-in containers, and write small programs of ~100 lines

  • m01-l01What Is Go: Origins, Design Philosophy and Use Cases
  • m01-l02Setting Up the Environment: Installing Go, GOROOT/GOPATH/GOPROXY and go envIn Progress
  • m01-l03Your First Go Program and the go Command: Modules and Project BasicsIn Progress
  • m01-l04Go Basics: Variables, Constants, Primitive Types and Type ConversionIn Progress
  • m01-l05Operators, Control Flow and ScopeIn Progress
  • m01-l06Functions: Multiple Returns, Named Returns and Variadic ParametersIn Progress
  • m01-l07Arrays, Slices and Maps: The Three Essential ContainersIn Progress
  • m01-l08Strings and Unicode: rune, byte and the strings PackageIn Progress
  • m01-l09Module 1 Project: A CLI Word Counter mini-wcIn Progress
BasicsComposite Data Types & Object-Oriented Design6 lessons

Master pointers, structs, methods, interfaces, error handling and generics to form a Go-style design mindset

  • m02-l01Pointers and Memory: &, * and an Intro to Escape AnalysisIn Progress
  • m02-l02Structs and Methods: The Foundation of Go OOPIn Progress
  • m02-l03Interfaces: Implicit Implementation, Empty Interfaces and Type AssertionsIn Progress
  • m02-l04Composition over Inheritance: Embedding, Interface Composition and Design PatternsIn Progress
  • m02-l05Error Handling: The error Interface, Error Wrapping and Sentinel ErrorsIn Progress
  • m02-l06Generics: Type Parameters, Constraints and PracticeIn Progress
CoreConcurrency6 lessons

Deeply understand goroutines, channels, select, sync and context, and write correct concurrent programs

  • m03-l01Concurrency Model: Goroutines and the GMP SchedulerIn Progress
  • m03-l02Channels: Communication, Buffering and DirectionIn Progress
  • m03-l03Select and Timeouts: Multiplexing in PracticeIn Progress
  • m03-l04The sync Package: Mutex, RWMutex, WaitGroup, OnceIn Progress
  • m03-l05Context: Timeouts, Cancellation and Request-Scoped DataIn Progress
  • m03-l06Concurrency Patterns and Pitfalls: Worker Pools, errgroup and Race DetectionIn Progress
EngineeringEngineering & Standard Library in Practice8 lessons

Use modules, testing, JSON, I/O, time, CLI and HTTP to deliver maintainable services

  • m04-l01Packages and Project Structure: Modules, internal and Dependency ManagementIn Progress
  • m04-l02Unit Tests and Benchmarks: The testing PackageIn Progress
  • m04-l03Interface Mocks, Dependency Injection and Test DoublesIn Progress
  • m04-l04JSON Serialization: encoding/json in DepthIn Progress
  • m04-l05Files and I/O: os, io, bufio, embedIn Progress
  • m04-l06Time Handling: The time Package and Scheduled TasksIn Progress
  • m04-l07CLI Tools in Practice: flag, cobra and log/slogIn Progress
  • m04-l08Network Programming Basics: net, TCP/HTTP Clients and ServersIn Progress
AdvancedAdvanced Topics & Performance Tuning6 lessons

Reflection, unsafe, pprof, GC, lint and design patterns — locate and solve performance problems

  • m05-l01Reflection (reflect): Principles, Usage and CostIn Progress
  • m05-l02unsafe, Memory Alignment and Zero-Copy TricksIn Progress
  • m05-l03Performance Tuning: pprof, Benchmarks and Escape Analysis in PracticeIn Progress
  • m05-l04Memory Management and GC: Tricolor Marking and GC TuningIn Progress
  • m05-l05Code Quality and Tooling: lint, Static Analysis and CIIn Progress
  • m05-l06Design Patterns and Idioms: Selected Go-Style PatternsIn Progress
PracticeDistributed Systems & Cloud-Native in Practice6 lessons

gRPC, databases, caching/message queues, observability and containerization — complete the capstone project

  • m06-l01gRPC and Protocol BuffersIn Progress
  • m06-l02Database Programming: database/sql, Connection Pools and ORMsIn Progress
  • m06-l03Caching and Message Queues: Redis and Kafka IntegrationIn Progress
  • m06-l04Microservice Observability: Logs, Metrics and TracingIn Progress
  • m06-l05Containerization and Deployment: Docker Multi-Stage Builds and K8sIn Progress
  • m06-l06Capstone Project: A High-Concurrency Short-URL ServiceIn Progress

Feedback

This site is front-end only — no backend, no accounts — so feedback goes to GitHub Issues, Discussions, or email.

Paste it into the issue or email to help track it down — it never includes anything you typed

Also:Browse existing issues · Email feedback (no GitHub account needed):278975598@qq.com