Go Fundamentals
Master the fundamentals of Go programming.
Courses
Go Basics
Start your Go journey here. Learn variables, types, control flow, loops, functions, and error handling through hands-on coding exercises, and a slug generator project.
Composite Types
Build on your Go foundations with slices, maps, and structs. Learn to work with collections and create custom data types through practical exercises.
Pointers & Memory
Master Go's pointers: take addresses, mutate through pointer parameters and receivers, handle nil safely, and see where memory lives. Capstone: build a feature-flag store that finds-or-creates flags and updates them in place through a returned pointer.
Project: DNS Resolver
Build a DNS resolver in Go. Manage DNS records with pointers, implement a cache with TTL expiry, detect CNAME cycles, and handle zone transfers.
Project: YAML Data Pipeline
Build a YAML data processing pipeline in Go. Parse multi-document YAML, transform rows, compute aggregations, and chain pipeline stages, all using slices, maps, and structs.
Interfaces & Polymorphism
Learn to define behavior with interfaces, implement them implicitly, use the empty interface, perform type assertions, and compose interfaces to create flexible, maintainable Go code.
Concurrency Fundamentals
Master Go's powerful concurrency features. Learn goroutines, channels, synchronization with WaitGroups and Mutexes, and the select statement for building efficient concurrent programs.
Go Generics Masterclass
Master Go generics - type parameters, constraints, and best practices for writing reusable, type-safe code.
Project: Rate Limiter
Build a rate limiter from scratch in Go. Apply your Go basics knowledge — slices, maps, structs, and pointer receivers — to build a real backend component that every API needs.
Packages & Organization
Learn to organize Go code into packages, understand exported vs unexported identifiers, work with the standard library, manage dependencies with Go modules, and structure larger projects.
Real-World Patterns
Apply your Go knowledge to real-world patterns. Learn file I/O, JSON handling, HTTP clients and servers, and testing strategies used in production applications.
Go Language Deep Dives
Deep dive into advanced Go fundamentals. Master variadic functions, named return values, panic/recover patterns, and debugging techniques.
Capstone: Web Crawler
Build a concurrent web crawler from scratch. Apply everything you've learned: goroutines, channels, mutexes, structs, interfaces, and error handling to crawl a live tech gadget shop.