Skip to main content

Go Coding Challenges

· 2 min read

I've been asked to recommend some Coding Challenges for developers who are learning Go.

The obvious answer is ALL of them! I've been using several of them to learn Go myself.

But to try and provider a more curated answer the question, here are the eight great coding challenges you can use to learn Go:

  1. Build your on wc - get started by learning to handle command line arguments and process file IO and text streams.
  2. Build your own compression tool - start digging into building data structures and algorithms using Go to build a tool that compresses and decompresses files using Huffman compression.
  3. Build your own Redis Server - Building a clone of the original Redis server is a great challenge to learn concurrent programming in Go. Alongside that you get to do some protocol handling, data structures and network programming. I also have a course that walks you through Building Redis in Go
  4. Build your own URL Shortener - a great challenge to learn about hashing and building REST APIs in Go.
  5. Build your own diff - get into some dynamic programming with Go.
  6. Build your own Shell - I've also built a course that walks you through Building a Shell in Go
  7. Build your own DNS Resolver - Some more low level network programming and packet handling.
  8. Build your own git client - build on your diff and add more data structures and algorithms.