SlaveCode
.
Academy
DSA
Resources
System Design
More
Toggle theme (Current: Custom)
Go Developer Roadmap | SlaveCode
Go Developer
Step by step guide to becoming a Go developer in 2026
Back
Roadmap
Vedios and Other Resources
Projects
AI Tutor
Go
Numeric Types
Strings
Get a Brief Overview
Frameworks (Optional)
Core Go Commands
Code Generation / Build Tags
Code Quality and Analysis
Linters
Security
Performance and Debugging
Deployment & Tooling
Advanced Topics
Concurrency
Visit the following roadmaps to keep learning
Language Basics
Composite Types
Methods and Interfaces
Error Handling
Code Organization
Testing & Benchmarking
Ecosystem & Popular Libraries
Go Toolchain and Tools
Backend
DevOps
Docker
Kubernetes
Related Roadmaps
Backend Roadmap
DevOps Roadmap
Docker Roadmap
Kubernetes Roadmap
System Design
Software Design & Architecture
Introduction to Go
Why use Go
History of Go
Setting up the Environment
Hello World in Go
`go` command
Variables & Constants
var vs :=
Zero Values
const and iota
Scope and Shadowing
Data Types
Boolean
Integers (Signed, Unsigned)
Floating Points
Complex Numbers
Runes
Raw String Literals
Interpreted String Literals
Type Conversion
Commands & Docs
Arrays
Slices
Capacity and Growth
make()
Slice to Array Conversion
Array to Slice Conversion
Strings
Maps
Comma-Ok Idiom
Structs
Struct Tags & JSON
Embedding Structs
Conditionals
if
if-else
switch
Loops
for loop
for range
Iterating Maps
Iterating Strings
break
continue
goto (discouraged)
Functions
Functions Basics
Variadic Functions
Multiple Return Values
Anonymous Functions
Closures
Named Return Values
Call by Value
Pointers
Pointers Basics
Pointers with Structs
With Maps & Slices
Memory Management
Garbage Collection
Methods vs Functions
Pointer Receivers
Value Receivers
Interfaces
Empty Interfaces
Embedding Interfaces
Type Assertions
Type Switch
Interfaces Basics
Generics
Why Generics?
Generic Functions
Generic Types / Interfaces
Type Constraints
Type Inference
Error Handling Basics
`error` interface
errors.New
fmt.Errorf
Wrapping/Unwrapping Errors
Sentinel Errors
`panic` and `recover`
Stack Traces & Debugging
Modules & Dependencies
go mod init
go mod tidy
go mod vendor
Packages
Package Import Rules
Using 3rd Party Packages
Publishing Modules
Goroutines
Channels
Buffered vs Unbuffered
Select Statement
Worker Pools
`sync` Package
Mutexes
WaitGroups
`context` Package
Deadlines & Cancellations
Common Usecases
Concurrency Patterns
fan-in
fan-out
pipeline
Race Detection
Standard Library
I/O & File Handling
flag
time
encoding/json
os
bufio
slog
regexp
go:embed for embedding
`testing` package basics
Table-driven Tests
Mocks and Stubs
`httptest` for HTTP Tests
Benchmarks
Coverage
Building CLIs
Cobra
urfave/cli
bubbletea
Web Development
net/http (standard)
gin
echo
fiber
beego
gRPC & Protocol Buffers
ORMs & DB Access
pgx
GORM
Logging
Zerolog
Zap
Realtime Communication
Melody
Centrifugo
go run
go build
go install
go fmt
go mod
go test
go clean
go doc
go version
go generate
Build Tags
go vet
goimports
revive
staticcheck
golangci-lint
govulncheck
pprof
trace
Race Detector
Cross-compilation
Building Executables
Memory Mgmt. in Depth
Escape Analysis
Reflection
Unsafe Package
Build Constraints & Tags
CGO Basics
Compiler & Linker Flags
Plugins & Dynamic Loading