Free to read ยท Three levels
Go: Values, Concurrency, and Reliable Services
Learn precise Go semantics, build testable packages, and design bounded concurrent services.
Start learningIn this course
This complete theory course progresses from a small module and zero values to interfaces, streaming I/O, HTTP, concurrency, generics, profiling, and operational boundaries. Each of the three levels has six developed lessons with explained examples, diagnostic guidance, and worked exercises.
The examples use the standard library and synthetic data. The language baseline is Go 1.22, with later changes explicitly identified. Runtime behavior, API contracts, and implementation choices are kept distinct so a successful experiment is not mistaken for a universal guarantee.
What you will learn
- Explain value copying, zero values, slices, maps, interfaces, and errors.
- Organize modules and packages with independently testable contracts.
- Build bounded I/O and HTTP operations with explicit cancellation.
- Review synchronization, goroutine lifetimes, generics, and measured performance.
Your learning path
Three levels
Basic: Values and Program Contracts
Read, run, and reason about small Go programs and their data.
- Tooling, Modules, and the Program Model
- Types, Zero Values, and Conversions
- Functions and Control Flow
- Arrays, Slices, and Text Boundaries
- Maps, Structs, and Data Invariants
- Methods, Interfaces, and Errors
Intermediate: Packages and Concurrent Work
Compose testable packages, bounded I/O, HTTP, contexts, and channels.
- Packages and API Boundaries
- Testing and Fuzzing Contracts
- I/O Streams, Files, and Bounded Records
- Context, Deadlines, and Cancellation
- HTTP Handlers and Clients
- Goroutines, Channels, and Completion
Advanced: Safety, Performance, and Service Design
Justify shared-state safety, cancellation, generic APIs, and operational tradeoffs.
- Race Safety and Synchronization
- Cancellation and Bounded Pipelines
- Generics and Type Constraints
- Profiling and Runtime Diagnostics
- Garbage Collection and Measured Performance
- API Design and Deployment Contracts
Who this is for
- New Go learners who can work with text files and a terminal.
- Developers reviewing interfaces, cancellation, race safety, and production API design.
Before you start
- Basic programming concepts are helpful but not required for the basic level.
- Complete earlier levels before the advanced material, or bring equivalent Go knowledge.