๐Ÿน Free & Open Source

Learn Go Interactively

Master Go through lessons, hands-on workshops, and coding labs โ€” no setup required.

Get Started

Everything You Need to Learn Go

๐Ÿ“–

Lessons

Read concise theory with syntax-highlighted Go examples, then prove your understanding with a quick quiz.

๐Ÿ”จ

Workshops

Follow step-by-step guided exercises. Each step validates your code before you can move on.

๐Ÿงช

Labs

Solve open-ended challenges. An automated test suite checks your output and gives instant feedback.

Curriculum

#ModuleTypeTime
1Introduction to GoLESSON~10 min
2Basic TypesLESSON~12 min
3VariablesWORKSHOP~15 min
4Variables LabLAB~20 min
5PointersLESSON~14 min
6Pointers WorkshopWORKSHOP~20 min
7FunctionsLESSON~12 min
8Functions WorkshopWORKSHOP~20 min
9ClosuresLESSON~14 min
10Closures WorkshopWORKSHOP~22 min
11Temperature Converter LabLAB~20 min
12Control FlowLESSON~12 min
13Control Flow WorkshopWORKSHOP~20 min
14ArraysLESSON~10 min
15SlicesWORKSHOP~15 min
16Functional Pipeline LabLAB~25 min
17MapsWORKSHOP~15 min
18Word Frequency Analyzer LabLAB~25 min
19StructsLESSON~14 min
20Structs WorkshopWORKSHOP~25 min
21Task Manager LabLAB~30 min
22InterfacesLESSON~14 min
23Interfaces WorkshopWORKSHOP~25 min
24Shapes Calculator LabLAB~30 min
25io.ReaderLESSON~12 min
26Error HandlingLESSON~16 min
27Error Handling WorkshopWORKSHOP~25 min
28Input Validator LabLAB~30 min
29Defer, Panic, and RecoverLESSON~14 min
30Defer, Panic & Recover WorkshopWORKSHOP~20 min
31Strings & RunesLESSON~14 min
32Strings & Runes WorkshopWORKSHOP~20 min
33JSON EncodingLESSON~14 min
34JSON WorkshopWORKSHOP~20 min
35Product Catalog LabLAB~30 min
36Goroutines & ChannelsLESSON~16 min
37Goroutines WorkshopWORKSHOP~25 min
38GenericsLESSON~14 min
39Generics WorkshopWORKSHOP~20 min
40HTTP BasicsLESSON~16 min
41HTTP WorkshopWORKSHOP~25 min
42Item Store API LabLAB~35 min
43Testing in GoLESSON~14 min
44Testing WorkshopWORKSHOP~25 min
45Calculator Test LabLAB~35 min
46context.ContextLESSON~13 min
47Context WorkshopWORKSHOP~22 min
48File I/OLESSON~14 min
49File I/O WorkshopWORKSHOP~22 min
50Word Count LabLAB~30 min
51time & sync extrasLESSON~13 min
52time & sync WorkshopWORKSHOP~22 min
53Concurrency PatternsLESSON~16 min
54Concurrency Patterns WorkshopWORKSHOP~30 min
55Structured Logging with slogLESSON~13 min
56slog WorkshopWORKSHOP~20 min
57Go Modules & PackagesLESSON~14 min
58Modules & Packages WorkshopWORKSHOP~20 min
59CLI Flags & Env VarsLESSON~12 min
60CLI Flags WorkshopWORKSHOP~20 min
61database/sqlLESSON~15 min
62database/sql WorkshopWORKSHOP~25 min
63Task Store LabLAB~35 min
64Graceful ShutdownLESSON~12 min
65Graceful Shutdown WorkshopWORKSHOP~25 min
66Struct EmbeddingLESSON~12 min
67Embedding WorkshopWORKSHOP~20 min
68Type Assertions & Type SwitchesLESSON~13 min
69Type Assertions WorkshopWORKSHOP~20 min
70HTTP MiddlewareLESSON~14 min
71HTTP Middleware WorkshopWORKSHOP~22 min
72Middleware Chain LabLAB~35 min
73HTTP ClientLESSON~13 min
74HTTP Client WorkshopWORKSHOP~22 min
75BenchmarkingLESSON~12 min
76Benchmarking WorkshopWORKSHOP~20 min
77sync/atomicLESSON~12 min
78sync/atomic WorkshopWORKSHOP~20 min
79strconv โ€” String ConversionsLESSON~11 min
80strconv WorkshopWORKSHOP~18 min
81Profiling with pprofLESSON~14 min
82Profiling WorkshopWORKSHOP~22 min
83Sorting with the sort PackageLESSON~12 min
84sort WorkshopWORKSHOP~20 min
85Regular ExpressionsLESSON~13 min
86regexp WorkshopWORKSHOP~20 min
87The Race DetectorLESSON~11 min
88Race Detector WorkshopWORKSHOP~18 min
89Error Wrapping & Sentinel ErrorsLESSON~13 min
90Error Wrapping WorkshopWORKSHOP~20 min
91Running Subprocesses with os/execLESSON~13 min
92os/exec WorkshopWORKSHOP~22 min