Embedded Types
Hariharan Srinath

How type embedding intersects with Pointer and Value method receivers in Go

I recently encountered a subtlety in Go language in how methods exposed by an embedded type are resolved vs. those with the same name defined by the container types depending on whether they are defined on Pointer or Value receivers. A quick trip to the language documentation however helped me understand subtlety and fix the unexpected result I was getting. It left me with a greater appreciation for how different features of the Go Language are designed to interact in cleanly defined manners