Learn Go
Structured lessons from the basics up — follow the path below in order, at your own pace.
-
1
Level 1 — Beginner Beginner 26 lessons
Start here if you have never written a line of Go before. Work through these lessons in order — each one builds on the last.
Lessons in this module
What Is Go? Why Learn Go? Installing Go Setting Up Your Development Environment Your First Go Program How Go Code Runs: Compiling to a Single Binary Variables & Data Types Constants & iota Type Conversion Operators Strings, Bytes & Runes Formatted Output with fmt Reading User Input Conditionals Switch Loops: Go's Only Loop, for Arrays Slices Maps Functions Multiple Return Values & Errors Structs Pointers Methods Comments & gofmt Debugging Basics -
2
Beginner Projects Beginner 1 lesson
Build these with nothing but what Level 1 covered — fmt , bufio , strconv , slices, maps, functions, and structs. 1. Command Line Calculator...
-
3
Level 2 — Intermediate Intermediate 20 lessons
These lessons cover packages and modules, interfaces, error handling, generics, goroutines and channels, and the standard library tools of a...
Lessons in this module
Modules & Packages Pointer Receivers & Method Sets Interfaces Embedding & Composition Error Handling in Depth defer, panic & recover Closures & Function Values Slices in Depth Generics Goroutines Channels select sync: WaitGroup & Mutex Working with JSON File I/O Working with Dates & Time Making HTTP Requests Building an HTTP Server Testing with go test Structured Logging with slog -
4
Intermediate Projects Intermediate 1 lesson
Build these using packages, interfaces, error wrapping, goroutines, and the standard library from Level 2. 1. Concurrent URL Status Checker...
-
5
Level 3 — Advanced Advanced 16 lessons
These lessons cover advanced concurrency, the runtime and memory, databases, testing and profiling, and how a real Go service is structured,...
Lessons in this module
The context Package Concurrency Patterns Race Conditions & sync/atomic Advanced Generics Iterators: range-over-func Reflection & Struct Tags Memory, Escape Analysis & the Garbage Collector Working with Databases: database/sql Building a REST API Testing Strategies: httptest, Fakes & Fuzzing Benchmarking & Profiling Project Layout & Architecture Idiomatic Design Patterns in Go Security Essentials Building CLI Tools & Cross-Compiling Deploying Go Services -
6
Advanced Projects Advanced 1 lesson
Build these using context , concurrency patterns, database/sql , and the testing and deployment practices from Level 3. 1. Task List REST AP...
-
7
What You Should Know Now — and What's Next 1 lesson
What You Should Know Now Core syntax: variables, zero values, control flow, slices, maps, functions, and multiple return values Structs, met...