Go tip of the week: 6 repos that help you get better in Go

When learning a language (or striving to get better in it), there is no way around getting your hands dirty. Diving right into large production-level projects, however, might not be the best approach. Such projects aren't always the most clean and idiomatic ones. Better start with small examples that you can explore, tweak, and expand.

To help you with this step, I dug deep into my archive to present you six repositories that contain coding examples, algorithms, data structures, and more. Next time you have bad weather, use the indoor time and these repos for playful learning.

1. inancgumus/learngo: ❤️ 1000+ Hand-Crafted Go Examples, Exercises, and Quizzes. 🚀 Learn Go by fixing 1000+ tiny programs.

Inanc Gumus’ insanely large repository of Go code to play with and learn from. (Switching to nitpick mode: The correct spelling of his name is İnanç Gümüş.)

2. TheAlgorithms/Go: Algorithms and Data Structures implemented in Go for beginners, following best practices.

Algorithms galore, from AhoCorsarick to XOR.

3. emirpasic/gods: GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more

Canonical data sets, implemented in Go.

4. Workiva/go-datastructures: A collection of useful, performant, and threadsafe Go datastructures.

If you are looking for a particular tree type, chances are you find it here. Plus queues, skiplists, and other data structures.

5. teivah/100-go-mistakes: 📖 100 Go Mistakes and How to Avoid Them

No, the tagline is not stolen. This repository belongs to the book of the same name.

6. qor/qor: QOR is a set of libraries written in Go that abstracts common features needed for business applications, CMSs, and E-commerce systems.

This is not an average set of algorithms and/or data structures. And, notably, this is not a framework. Instead, QOR provides modules you'd typically need in a business application, like access control, media libraries, admin interfaces, or batch processing.

No more excuses

Now you can't say you don't have an idea where to start practicing Go. Pick a repo, clone it, and start hacking away.