Learn
Practice
Newsletter
Resources
Resume
New
F
Toggle theme
0
F
Toggle theme
0
Toggle menu
Course Roadmap
Last Updated: May 17, 2026
1 min read
28 sections
239 chapters
Collapse All
Access:
Difficulty:
Priority:
#
Section / Chapter
Priority
Difficulty
1
Welcome
Course Roadmap
Course Setup
Join the Community
2
Introduction to Go
What is Go?
High
History of Go
Low
Why Go?
Low
Installing Go
Low
First Go Program
Medium
Go Toolchain
Medium
Go Playground
Low
3
Basic Syntax
Variables & Declarations
High
Short Variable Declaration
High
Basic Types
High
Zero Values
High
Constants
Medium
iota
Medium
Type Conversions
Medium
Operators
Medium
Input & Output
Medium
Comments & Naming
Low
4
Control Flow
If-Else
High
If with Init
Medium
For Loop
High
Range
High
Switch Statement
High
Type Switch
High
Break & Continue
Medium
Labeled Statements
Low
5
Functions
Function Basics
High
Multiple Return Values
High
Named Return Values
Medium
Variadic Functions
High
First-Class Functions
Medium
Anonymous Functions
Medium
Closures
High
defer
High
init Function
Medium
Blank Identifier
Medium
6
Arrays & Slices
Arrays
Medium
Slices Basics
High
Slice Internals
High
Creating Slices
High
append & copy
High
Nil vs Empty Slices
High
Slice Tricks
Medium
Multidimensional Slices
Medium
slices Package
Medium
Slice Gotchas
High
7
Maps
Map Basics
High
Map Operations
High
Comma-ok Idiom
High
Iterating Maps
High
Map Internals
Medium
Sets with Maps
High
maps Package
Medium
8
Strings
String Basics
High
UTF-8 & Runes
High
String Iteration
High
strings Package
High
strconv Package
Medium
String Builder
High
String Formatting
High
Byte Slices & Strings
Medium
Regular Expressions
Medium
9
Structs
Struct Basics
High
Struct Literals
High
Exported & Unexported Fields
High
Anonymous Structs
Medium
Struct Embedding
High
Struct Tags
High
Constructor Functions
High
Struct Comparison
Medium
JSON with Structs
High
10
Methods & Interfaces
Methods Basics
High
Value vs Pointer Receivers
High
Method Sets
High
Interfaces Basics
High
Implicit Interface Satisfaction
High
Empty Interface
High
Type Assertions
High
Type Switches
High
Interface Composition
Medium
Common Interfaces
Medium
Interface Best Practices
Medium
Interface vs Concrete Types
Medium
11
Pointers
Pointer Basics
High
Pointers & Functions
High
Pointer Receivers
High
new vs make
High
Nil Pointers
High
Pointer to Pointer
Low
When to Use Pointers
High
12
Error Handling
error Interface
High
Creating Errors
High
Error Handling Patterns
High
Wrapping Errors
High
errors.Is & errors.As
High
Custom Error Types
Medium
Sentinel Errors
Medium
panic
Medium
recover
Medium
Error Handling Best Practices
High
13
Packages & Modules
Packages Basics
High
Go Modules
High
Importing Packages
High
Module Versioning
Medium
Vendoring
Low
Go Workspaces
Low
Internal Packages
Medium
Publishing Modules
Low
14
Goroutines
Goroutine Basics
High
Goroutine Lifecycle
High
WaitGroup
High
GMP Scheduler
High
GOMAXPROCS
Medium
Goroutines vs Threads
High
Goroutine Leaks
High
Goroutine Patterns
High
Goroutine Debugging
Medium
15
Channels
Channel Basics
High
Buffered Channels
High
Unbuffered Channels
High
Channel Directions
Medium
Range over Channels
High
Select Statement
High
Nil Channels
Medium
Fan-In
High
Fan-Out
High
Done Channel
Medium
16
Concurrency Patterns
Concurrency Overview
High
Worker Pools
High
Pipelines
High
Mutex
High
Atomic Operations
Medium
sync.Once
Medium
sync.Pool
Medium
errgroup
High
Race Detector
High
Concurrency Best Practices
High
17
Context Package
Context Basics
High
context.WithCancel
High
context.WithTimeout
High
context.WithDeadline
Medium
context.WithValue
Medium
Context Propagation
High
18
Generics
Generics Basics
High
Type Parameters
Medium
Type Constraints
Medium
Type Sets
Medium
Generic Functions
Medium
Generic Types
Medium
Type Inference
Medium
constraints Package
Low
Generics Best Practices
Medium
19
File I/O
os Package
Medium
bufio Package
Medium
io.Reader & io.Writer
High
ioutil Alternatives
Medium
filepath Package
Medium
fs Package
Low
embed Directive
Medium
Temporary Files & Dirs
Low
20
JSON & Encoding
JSON Basics
High
Struct Tags for JSON
High
JSON Streaming
Medium
Custom Marshalers
Medium
json.RawMessage
Medium
XML Encoding
Low
CSV Encoding
Low
gob Encoding
Low
21
Testing
Testing Basics
High
Table-Driven Tests
High
Subtests
Medium
Test Helpers
Medium
Benchmarks
Medium
Fuzzing
Low
httptest
High
Test Fixtures
Low
Code Coverage
Medium
Testing Best Practices
Medium
22
Networking & HTTP
net/http Basics
High
HTTP Handlers
High
HTTP Middleware
High
ServeMux Routing
Medium
HTTP Client
High
JSON APIs
High
Request Context
High
TCP Server
Medium
UDP Server
Low
Graceful Shutdown
High
23
Database Access
database/sql Basics
High
Connecting to Database
High
Querying Data
High
Prepared Statements
High
Transactions
High
Connection Pooling
Medium
NULL Handling
High
sqlx Package
Low
24
Reflection
Reflection Basics
Medium
reflect.Type & reflect.Value
Medium
Inspecting Structs
Medium
Reading Struct Tags
Medium
Dynamic Invocation
Low
Reflection Performance
Low
Reflection Use Cases
Low
25
Unsafe & cgo
unsafe Package
Low
unsafe.Pointer
Low
Sizeof, Alignof, Offsetof
Low
cgo Basics
Low
Calling C from Go
Low
cgo Pitfalls
Low
26
Standard Library
sync Package
High
sort Package
Medium
time Package
High
log/slog
High
crypto Package
Medium
embed Package
Medium
text/template
Low
html/template
Low
flag Package
Medium
math/rand
Low
27
Modern Go
range over func
Medium
Iterators
Medium
slices Package (Modern)
Medium
maps Package (Modern)
Medium
cmp Package
Low
Enhanced ServeMux
High
Loop Variable Change
High
Go Version History
Low
28
Best Practices
Effective Go
High
Project Layout
Medium
Dependency Injection
High
Profiling with pprof
Medium
Linting & staticcheck
Medium
Build Tags
Low
go generate
Low
Cross-Compilation
Medium
Documentation
Low
Common Mistakes
High
Get Premium
Subscribe to unlock full access to all premium content
Subscribe Now
Vote/Request Content
Aa
Star
Complete
Ask AI
Star
Complete
Ask AI
Course Setup