Go basics
Variables, types, operators, and control flow.
CompletedBite-sized Go exercises, real code, and a clear learning path that keeps you moving.
No credit card required
Fourteen units and 225 exercises, in an order that always shows you what to learn next. Whether Go is your first language or your fifth, you start where you are.
Variables, types, operators, and control flow.
CompletedWrite reusable code and organize your programs.
In progressWrap, inspect, and return errors the idiomatic Go way.
NextGoroutines, channels, and safe concurrent code.
LockedEvery unit in the curriculum
New units and exercises added regularly.
Streaks, XP, and hearts keep you coming back—and the code you write is the real thing.
Show up for a few minutes a day and your streak grows. Consistency beats cramming—and the gopher keeps count.
Every exercise pays out XP. Watch yourself level up from Hello, World to goroutines and channels.
Wrong answers cost a heart, so you slow down and actually read the code. Run out? Take a breather and come back.
Every lesson includes hands-on exercises with immediate feedback, so you learn Go by doing—not just watching. Try this one right now.
Fill in the blank
package main import "fmt" func main() { message := "Hello, Go!" fmt.Println(____) }
Yes—the first ten units are free forever, no credit card required. Going Pro adds unlimited hearts and energy for when you want to binge, plus the full curriculum.
No. Every exercise runs right in the browser—you write and check real Go code without installing anything.
Anyone who wants Go to stick. If Go is your first programming language, the early units assume nothing. If it's your fifth, you'll move through them fast and hit the interesting parts sooner.
About five minutes—long enough to learn something real, short enough to fit in a coffee break. Streaks reward showing up daily, not marathon sessions.
Your first lessons are free. Five minutes from now you’ll have written real Go.
No credit card required
Built by Matt Boyle, author of Domain-Driven Design with Golang and the teacher behind ByteSizeGo’s Go courses.