Program flow first, types later
You don’t start programming by thinking about the types but rather the flow/behaviour.
As you need to represent your data in more sophisticated ways, you start introducing your types.
… the more important idea is the separation of concept: data and behaviour are two distinct concepts in Go, not conflated into a single notion of “class”. – Rob Pike
Structs provide a light-weight way to represent data.