by @Wavedidwhat
Learning Go (Golang) from the ground up — through daily hands-on projects, tool rebuilds, and real engineering patterns.
⚡️ What This Repo Is About
This repository is a curated, practical journey through the Go programming language. It’s designed to help you build solid foundations and grow into a confident Go developer by working on real exercises, mini-projects, and examples that reflect everyday challenges.
| Week | Focus Area | Key Topics |
|---|---|---|
| 1 | Go Basics | Syntax, Variables, Types, Control Flow |
| 2 | Functions & Error Handling | Functions, Multiple Returns, Errors |
| 3 | Structs & Interfaces | Structs, Methods, Interfaces |
| 4 | Concurrency | Goroutines, Channels |
| 5 | Standard Library Deep Dive | io, fmt, time, strings |
| 6 | Testing & Debugging | Unit Tests, Benchmarks, Debugging |
| 7 | Web Development Basics | net/http, JSON, REST APIs |
| 8 | Advanced Go Patterns | Context, Reflection, Generics |
| 9 | Database & Persistence | SQL, NoSQL, ORM basics |
| 10 | Project Week 1 | Build a CLI Tool |
| 11 | Project Week 2 | Build a Web API |
| 12 | Final Project & Review | Full-stack Go Application |
/lessons
├── 01_basics
├── 02_functions
├── 03_structs_interfaces
├── 04_concurrency
├── 05_stdlib
├── 06_testing_debugging
├── 07_web_basics
├── 08_advanced_patterns
├── 09_database
├── 10_project_cli
├── 11_project_api
└── 12_final_project
Each folder contains exercises, examples, and mini-projects aligned with the weekly focus.
- Follow the weekly themes to build your knowledge progressively.
- Practice actively: code along, experiment, and build small projects.
- Review and reflect regularly to solidify concepts.
- Leverage AI tools like ChatGPT and GitHub Copilot to assist your learning, but always strive to understand the underlying principles.
| Time | Activity | Description |
|---|---|---|
| 15–30 mins | 🔥 Warm-up | Review notes or watch a quick tutorial |
| 1.5–2 hours | 💻 Core Learning | Hands-on coding, exercises, and reading |
| 30–60 mins | 🛠 Practice | Solve problems or build mini-projects |
| 15 mins | 📝 Reflection | Summarize learnings, jot down questions |
Consistency is key — keep your momentum strong and embrace challenges as growth opportunities.
Using AI-powered tools such as ChatGPT and GitHub Copilot is encouraged throughout your journey! These tools can accelerate your learning by offering instant explanations, code suggestions, and debugging help.
Remember: AI is a powerful assistant, but true mastery comes from deeply understanding why and how things work. Use AI to complement your problem-solving skills, not replace them.
This journey emphasizes practicality and idiomatic Go. You’ll learn not just to write code, but to write good Go code — clean, efficient, and maintainable. Projects and exercises are designed to reflect real-world scenarios, preparing you for professional development.
You will be able to:
- Write idiomatic and robust Go code.
- Understand and implement concurrency patterns.
- Build and test web services using Go’s standard library.
- Use Go tools for debugging and performance tuning.
- Develop full-stack Go applications integrating databases and APIs.
- Confidently use AI tools as learning and productivity aids.
Explore these repositories to deepen your practical experience:
- Go Project Repository — Real-world Go applications and examples.
- Data Structures in Go — Implementations of classic data structures using Go.
@Wavedidwhat — Backend and AI automations engineer trying to learn new things.
Let’s embark on this exciting Go journey together — build, learn, and grow!
Happy coding! ❤️💜🖤
@Wavedidwhat on Twitter — and visit my website at wavedidwhat.xyz.
