Fifteen guides that take you from no compiler to a Go web service running under systemd — and every stop between. Install the toolchain, learn the language by building things (a bowling scorer, algebra solvers, Big O side by side), work through interview problems, then write real programs: a concurrent fetcher, a chat server, a URL shortener, a blog CMS, a live mortgage app. Every code block is complete and runnable with go run; nothing needs a framework.
Two pages that everything else assumes. If go version already prints something on your machine, skip the first.
Start here. Install the Go toolchain on Linux, macOS, or Windows, get go on your PATH, verify it with go version, and run your first program with go mod init and go run.
A quick-reference instruction sheet covering variables, slices, maps, functions, structs, goroutines, and more — each with a complete-the-code exercise.
Each of these teaches Go through one problem you already understand, and each has “explain it simply” checks along the way. Bowling is the one to do first.
A beginner build-along: write a bowling score program with only if and else, then replay it with for loops and a flatter data model — same score, a quarter of the code. A lesson in how to improve code you've already written.
Six classic algebra problems — linear equations, systems, the quadratic formula, and the equation of a line — each solved the standard way by hand, then again in Go, with a check after every one.
5For anyone who hasn't opened an algebra book in years. Seven teach-yourself lessons — exponents, factoring, quadratics, functions, logarithms, inequalities, sequences — each in plain words, worked by hand, practised before the answer is revealed, with the Go program in a drop-down as the answer key.
6A beginner's guide to how code scales. Runnable Go examples for O(1), O(log n), O(n), O(n log n), and O(n²) side by side, a growth table and chart, and a refactor that drops an algorithm from O(n²) to O(n).
Google-style coding problems solved in Go — arrays, strings, trees, graphs, dynamic programming, and design. Each with a statement, example, complete Go solution, explanation, and complexity analysis.
Standard library only, in rough order of size. The fetcher is Go's “wow” moment in under 40 lines; the blog is a real server in ~320.
Fetch a dozen URLs in parallel using goroutines and channels. The whole batch finishes in roughly the time of the slowest single request.
9A multi-client chat room in ~80 lines. One goroutine per connection, one channel to broadcast. Connect with telnet or nc from multiple terminals and watch messages fan out.
A working JSON REST service using net/http. POST /shorten creates a short code; GET /<code> redirects. No framework, no dependencies.
A WordPress-style blog server in ~320 lines. Posts, admin login with bcrypt, session cookies, slug generation, and SQLite — all standard library except two packages. Full working source.
12A working mortgage calculator that saves each calculation to SQLite. Built with html/template, database/sql, and the Post-Redirect-Get pattern. Running live at /goapp/mortgage/.
The same small web server, kept alive across reboots on each operating system. Linux is the one this site runs on — the demo at /goapp/hello/ is that guide's output.
Install Go, write a small web app, run it as a systemd service, and expose it through nginx on bozcode.com. Includes a live demo at /goapp/hello/.
Install Go with Homebrew, build a web server, and keep it running automatically at login using a launchd plist — the macOS equivalent of systemd.
Install Go with winget, build a web server, and run it as a persistent Windows Service using NSSM — no admin scripting required.
go build produces a single statically linked executable. Every hosting guide above is really the same three steps — build it, copy it, tell the OS to restart it if it dies — and only the third step differs between systems.
go mod init, go run ., go build. Everything on this page starts with those three commands.