Structs
Structs are the nouns of a Go program. A real codebase is full of them: User, Order, Request, Session, Config, Point. Each one groups the fields that belong together into a single named type, which lets you pass one User around instead of four loose variables. Every Go library you will use and every program you will ship lives inside this pattern.
Eight lessons walk through the full picture: defining a struct and its fields, literals and nested shapes, value-vs-pointer semantics (the real payoff of Chapter 5), the NewX constructor convention, anonymous structs for one-off shapes, embedding as Go's composition mechanism, and the comparable-fields rule that controls == and map-key eligibility. The chapter finishes with a small todo-list program that puts the pieces together, and its design sets up Chapter 7 on methods.