Go Course

Go (often called Golang) was built at Google to solve a specific problem: C++ and Java were getting too complicated for the kind of large, fast-moving backend systems Google runs at scale. The result is a language that compiles to a single fast binary, has a notably small set of keywords to learn, and treats concurrency — doing many things at once — as a first-class, built-in feature rather than an afterthought bolted on with libraries.

What you'll learn

The first half covers the fundamentals every Go program is built from: variables, operators, conditionals, loops, and functions — including Go's distinctive multiple-return-value style, which shapes how error handling looks throughout the language. From there you'll move into Go's core data structures — arrays and slices, maps, and structs — followed by pointers, the interfaces that give Go its flexible, implicit style of polymorphism, and finally goroutines and channels, the concurrency tools Go is best known for.

Every lesson runs real code through go run and shows you exactly what prints, so what you read here matches what you'd see running it yourself.

Lessons

  1. Introduction
  2. Variables & Data Types
  3. Operators
  4. Conditionals
  5. Loops
  6. Functions
  7. Arrays & Slices
  8. Maps
  9. Structs
  10. Pointers
  11. Interfaces
  12. Goroutines & Channels
Where to start: begin with Introduction and go in order — Go's multiple-return-value functions (lesson 6) set up the error-handling pattern used everywhere after, and structs, pointers, and interfaces (lessons 9 through 11) build directly on each other before the concurrency lesson at the end.