Best for backend and systems basics
This free, interactive Go course takes you from zero to production-ready. You'll master Go variables, data types, functions, control flow, structs, interfaces, pointers, goroutines, channels, error handling, JSON encoding, HTTP servers, testing, and packages — all by writing and running real Go code in your browser.
Who this is for
Complete beginners who want their first programming language, developers switching from Python or JavaScript to a compiled language, and backend engineers who want a clear path into Go.
What you'll build
Start here
Write your first Go program. No setup required — just you and the editor.
Full curriculum
Write your first Go program. No setup required — just you and the editor.
Store information in your programs so you can use it, change it, and reuse it.
Every value in Go has a type. Learn all of them — strings, integers, floats, bools, bytes, and runes.
Print things properly. Format numbers, align text, build strings, and control every detail of your output.
Make your program smart. Teach it to make decisions, choose between paths, and react differently to different situations.
Stop repeating yourself. Teach your program to repeat things for you.
Store multiple values in one variable. Fixed size, same type, numbered from zero.
Arrays but flexible. The collection type you will use in almost every Go program you ever write.
Store and look up data by name, not by position. The key-value pair is one of the most useful data structures in programming.
Stop repeating yourself. Write code once, name it, and call it anywhere.
Group related data under one name. Build the building blocks of every real-world Go program.
Stop copying. Learn to work with the original. Pointers are simpler than they sound — and more powerful than you expect.
Attach behaviour to your types. Instead of functions that take a struct, write functions that belong to one.
Go handles errors differently — and better. No exceptions, no surprises. Just values you check and handle.
Stop reinventing the wheel. Use Go's rich standard library and the entire open-source ecosystem.
Write code that works with anything. Interfaces let you define behaviour without caring about the concrete type.
Catch bugs before your users do. Go has world-class testing built right in — no framework, no setup, just write and run.
Speak the language of the web. Marshal structs to JSON, unmarshal JSON to structs, and build API-ready responses.
Build web servers and make HTTP requests. Go's net/http package is all you need — no framework required.
Do multiple things at once. Goroutines and channels are Go's superpower — lightweight, safe, and elegant.
Go deeper into concurrency. Timeouts, tickers, fan-in, fan-out, context, rate limiting, graceful shutdown — the patterns every real Go system uses.
Two short steps in the same file — your code carries forward so you feel the project grow.
Build a small book catalog in the terminal — structs, maps, functions, errors, and formatted output in one program that grows step by step.
Go (Golang), created by Google, is one of the fastest-growing programming languages for backend development, cloud infrastructure, and DevOps. Companies like Google, Uber, Dropbox, and Twitch use Go for its simplicity, blazing-fast compilation, and built-in concurrency. Whether you want to build web servers, microservices, CLI tools, or distributed systems, Go is an excellent choice.
This free, interactive Go course takes you from zero to production-ready. You'll master Go variables, data types, functions, control flow, structs, interfaces, pointers, goroutines, channels, error handling, JSON encoding, HTTP servers, testing, and packages — all by writing and running real Go code in your browser.
23 topics · 194 hands-on lessons · all levels
Complete beginners who want their first programming language, developers switching from Python or JavaScript to a compiled language, and backend engineers who want a clear path into Go.