About 1000+ Go exercises, examples, and quizzes
Learn Go with over 1000 hand-crafted examples, exercises, and quizzes. This open-source repository (20.1k stars) offers a unique learning-by-doing approach: fix tiny Go programs to master the language. Created by Inanc Gumus for his Go Bootcamp Course, the repository covers topics from variables and control flow to slices, structs, concurrency, and design patterns. It includes structured folders for each concept, projects like a retro LED clock and a bouncing ball, and quizzes to test understanding. Available in English, Spanish (WIP), and Chinese (WIP). Completely free to use.
Key Features
Over 1000 hand-crafted Go examples and exercises
Quizzes to reinforce learning
Structured curriculum covering Go basics to advanced topics
Hands-on projects (e.g., retro LED clock, bouncing ball, spam masker)
Covers variables, control flow, arrays, slices, maps, structs, functions, pointers, interfaces, concurrency, and design patterns
Available in multiple languages (English, Spanish, Chinese)
Open-source with permissive Creative Commons license
Regularly updated with community contributions
Pros & Cons
Pros
- Completely free and open-source
- Huge collection of exercises (1000+) for deep practice
- Focuses on learning by fixing code, which builds debugging skills
- Covers both fundamentals and advanced topics (concurrency, interfaces)
- Includes real-world projects and quizzes
- Active community with many stars and forks
Cons
- Requires local setup of Go environment to run exercises
- Exercises involve fixing small programs rather than building larger applications from scratch
- May not include detailed explanations for every concept (assumes some prior knowledge)
- Some translations are work in progress (Spanish, Chinese)
Best For
Learning Go from scratch with practical exercisesPracticing Go programming for job interviews or examsTeaching Go in classrooms or workshopsSelf-paced study for software developers wanting to learn GoReference for Go idioms, best practices, and design patterns
FAQ
Is this repository free?
Yes, the entire repository is free and open-source under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
What topics are covered?
The repository covers a wide range of Go topics including variables, printf, numbers and strings, type system, constants, if/switch statements, loops, arrays, slices, maps, structs, functions, pointers, interfaces, concurrency, and design patterns.
Do I need any prior Go knowledge?
The exercises are designed for learners who have basic programming knowledge. The approach is hands-on, and you will learn by fixing tiny programs. It is suitable for beginners to Go if you are willing to learn by doing.
How do I use this repository?
Clone the repository, install Go, and follow the exercises in each numbered folder. Each folder contains examples and exercises with detailed instructions. You can also use the quizzes to test your understanding.
Are there any projects included?
Yes, the repository includes several projects such as a retro LED clock, an empty file finder, a bouncing ball simulation, a spam masker, and a text wrapper.