Go has:
But it has comparatively few features and is unlikely to add more. For instance, it has:
To avoid design complexity
Go has no class hierarchies, or indeed any classes; complex object behaviors are created:
Methods may be associated with any user-defined type, not just structures, and the relationship between:
so a concrete type may satisfy an interface that the type’s designer was unaware of.