This project is my attempt to learn Go by building as I learn, making the journey more engaging while exploring the language in practice. I'm sharing the exercises and tooling so others can learn alongside me.
- Simple CLI to list and verify exercises
- Helpful hints and solution links when you're stuck
- Watch mode to auto-run tests on changes
- Progress dashboard with a visual bar and checklists
- Publish your progress to GitHub and appear on the README leaderboard
go install github.com/zhravan/golearn/cmd/golearn@latest
# In any folder, set up exercises here
golearn init
# Or clone a remote exercises repo
# golearn init <repo-url> <dir>
golearn init https://github.com/your-org/your-exercises my-exercises
cd my-exercises
# Learn
golearn list
golearn verify 01_hello
golearn hint 01_hello
golearn solution 01_hello # Suggests hints; else prints GitHub link
golearn verify 01_hello --solution # Run tests against the embedded solution
golearn progress # Rich TUI with ASCII progress bar and checklist
# Auto-verify on change (watch mode)
golearn watch # Watches ./exercises and re-runs tests per edited exercise
# Publish your progress (appears on README leaderboard)
golearn publish --dry-run
golearn publish --user <github-username>
- See CONTRIBUTING.md
- Please follow our Code of Conduct
- Security issues: see SECURITY.md
Need commands?
golearn help
# Show help
make
# Run commands
make list
make verify NAME=01_hello
make progress
make watch
- The progress bar adapts to terminal width via the
COLUMNS
env var. - Press Ctrl+C to stop watch mode.
- Code: MIT
- Non-code lesson content and any included gopher artwork: CC BY 3.0.
- Inspired by rustlings and Go by Example. NOTICE for attributions.
The following users have completed all exercises (ascending by completion time):
No completions yet. Be the first!