Learn
Newsletter
Roadmaps
New
Search
⌘K
Toggle theme
Toggle theme
Toggle menu
Go Roadmap
What is Go & Why Use It
Hello World in Go
Understanding Go Modules
Foundations
Installing Go & Workspace Setup
Go Tooling (go run, build, test, mod)
Variables & Constants
Arrays, Slices, Maps
Functions & Multiple Return Values
Core Language
Data Types (int, float, string, bool)
Control Structures (if, switch, for)
Error Handling (errors package)
Structs & Methods
Interfaces & Duck Typing
Polymorphism in Go
Structs & Interfaces
Pointers in Go
Embedding & Composition
Goroutines
Buffered vs Unbuffered Channels
WaitGroups & Mutexes (sync package)
Concurrency in Go
Channels
select Statement
Context for Cancellation & Timeouts
Go fmt & Linting
Test Coverage & Benchmarks
Profiling & Debugging Tools
Tooling & Testing
Unit Testing in Go (testing package)
Dependency Management with go mod
net/http Package
Routing with Gorilla Mux / chi
Middleware in Go
Web Development & APIs
Building REST APIs
gRPC with Go
Authentication & JWT in Go APIs
Database/sql Package
ORMs (GORM, sqlx, ent)
Working with Files in Go
Databases & Storage
PostgreSQL/MySQL with Go
Caching with Redis
Go Routines Deep Dive
Reflection in Go
Building CLIs with Cobra
Advanced Go
Memory Management & Garbage Collection
Generics (Go 1.18+)
Microservices with Go
CLI Tool (e.g., Todo App)
URL Shortener Service
gRPC Microservice
Projects
REST API with Database
Chat Application with WebSockets
Concurrent Web Scraper
Go Core Concepts Q&A
Error Handling & Design Patterns
Practical Coding Challenges in Go
Interview Preparation
Concurrency & Channels Questions
System Design with Go
Case Studies (Docker & Kubernetes in Go)