I don't think it is that simple. Most Go packages use a OO flavor; but
that's Go's OO flavor. Let's call it GOO (!).
Go doesn't have some constructions from traditional OO, like
inheritance; the language seems to beg you to use clearer designs and
composition, and that's good because composition > inheritance anyway,
we've learned from years of traditional OO. And Go has has interfaces
and typed methods, so I'd say that GOO has some good parts of
traditional OO, and leaves others some that traditionally promotes bad
design (multiple inheritance).
My first Go attempts tried to replicate traditional OO with lots of
embedded fields and fake-inheritance, but later I realized that that
was a bad idea that just complicated stuff. You can use a mix of
procedural code with factories and helpers functions, and use
composition of typed methods and interfaces to achieve clearer
designs; that's GO's OO flavor. It's OO, just not in a orthodox sense.
You need to exercise it through coding and find the Go way.
-- rodrigo