If you have not already you must read Clean Architecture by Uncle Bob (Robert. C. Martin). I was writing an implementation of clean architecture in Golang. Writing it in I realized how beautifully the architecture fits in the Go ecosystem. I highly recommend everyone to once try an implement it yourself. I have tried my best to explain my implementation in this blog.
The clean architecture is very thought out, to give an example you will notice how In my blog I finished 75% of my code before even deciding which database I want to use. This is the mindset one needs to keep in his mind while writing code. Your system should never be dependent on a plugin. Its the responsibility of the plugin to provide the functionality your code needs.