Skip to main content
Learn Go by building real projects! These hands-on challenges will help you apply what you’ve learned and build practical applications.

Available Projects

Greeter

Build a command-line greeter that accepts arguments and uses variables

Lucky Number Game

Create a random number guessing game with loops and user input

Word Finder

Search for words in text using loops and string operations

Retro LED Clock

Build an animated ASCII art clock with arrays and time formatting

Empty File Finder

Find and report empty files in directories using file I/O

Bouncing Ball

Create an animated bouncing ball with 2D arrays and graphics

Spam Masker

Mask URLs in text using byte manipulation and string processing

Text Wrapper

Wrap long text to fit within a specified width

Project Difficulty Levels

  • Greeter - Learn variables and command-line arguments
  • Word Finder - Practice loops and string operations
  • Lucky Number Game - Work with randomization and control flow
  • Empty File Finder - Master file I/O and slices
  • Spam Masker - Understand byte manipulation
  • Text Wrapper - Work with Unicode and formatting
  • Retro LED Clock - Complex arrays and animation
  • Bouncing Ball - 2D graphics and physics simulation

How to Use These Projects

  1. Read the project description to understand what you’ll build
  2. Try implementing it yourself before looking at solutions
  3. Follow the step-by-step approach if you get stuck
  4. Study the code examples to learn best practices
  5. Complete the exercises to reinforce your learning
Don’t rush! Take time to understand each concept. It’s better to complete fewer projects thoroughly than to rush through all of them.

Build docs developers (and LLMs) love