Two years ago, some engineers in my company had a study on the book "Hands-on Dependency Injection in Go." Overall, the book was about the famous SOLID principles: Single responsibility principleOpen/closed principleLiskov substitution principleInterface segregation principleDependency inversion principleAt that time, I couldn't get the last one: the dependency inversion