Join 5,000+ Go developers

The best place to learn Go on the internet

Bite-sized lessons, deep courses, and a gamified practice app — everything you need to go from "Hello, World" to production systems.

ByteSizeGo gopher mascot
One useful email at a time — no spam, unsubscribe anytime.
176+interactive exercises
267free blog posts
30+hours of courses
New

Learn Go the Fun Way with GoFlow

Master Go through bite-sized, interactive exercises. Earn XP, build streaks, and level up your skills — one lesson at a time.

  • 176+ interactive exercises you can finish in minutes
  • Earn XP, keep daily streaks, and level up your gopher
  • Real Go code from day one — no setup required
Free to start — no card required
+10 XP
🔥 7⚡ 240 XP
❤️ 5
Fill in the blank
func main() {   msg := "Hello, Gopher!"   fmt.Println(msg) }
fmt.Printlnlog.Fatalprint()
GoFlow Gopher Mascot
Courses

Go deep, one course at a time

Production-focused video courses used by engineers at some of the biggest companies in the world.

Free List

58 Companies Hiring Go Engineers in 2026

Careers pages, remote policies, and how each company uses Go in production.

Google Cloudflare Docker Shopify Datadog HashiCorp +52
Join 5,000+ Go developers
Blog

Latest from the blog

Read all 267 posts →
advanced topicsNov 7, 2026

How uncut Handles Truncated LLM Output and Crash-Safe Sessions in Go

Reading Balanov/uncut, a headless Go coding-agent harness that treats a truncated model response as a hard error, fsyncs every session line, and splits shell execution by build tag.

Read More →
advanced topicsNov 6, 2026

How EQUAL Records HTTP Traffic into Replayable Cassettes in Go

Reading Balanov/equal: how it hashes HTTP requests into stable keys, stores cassettes as JSONL, diffs responses with JSON pointers, and infers OpenAPI from traffic.

Read More →
advanced topicsNov 5, 2026

Streaming JSON in Go 1.27: MarshalJSONTo, UnmarshalJSONFrom, and jsontext

Go 1.27 ships encoding/json/v2 and encoding/json/jsontext. The behavior changes get the headlines, but the two new streaming interfaces are the part you have to write code for.

Read More →
advanced topicsNov 4, 2026

How Skein Fences Stale Work in Go: Epoch Files, Lease Validation, and Fail-Closed Runs

Reading Balanov/skein's Go source: temp-file epoch updates, a five-condition lease check used as a fencing token, strict manifest decoding, and an event logger whose methods survive a nil receiver.

Read More →
advanced topicsNov 3, 2026

moego base64 in Go: AVX2 Kernels, Build Tags, and a linkname Allocator

How MoeForge/moego combines AVX2 and NEON kernels, safe standard-library fallbacks, and an optional runtime.mallocgc fast path in a base64-compatible API.

Read More →
advanced topicsOct 31, 2026

noalloc: Enforcing Zero Heap Allocations in Go with Static Analysis and Codegen

A look at theconsensuslabs/noalloc: how it reports heap allocations reachable from //noalloc:root functions, and how its jsongen tool uses go/types to generate reflection-free JSON.

Read More →
Read all 267 blog posts →