Go in Production - What I Learned 1 Month Later


But for me, the point number 2 is applicabale in every language. :slight_smile:


The reason Go does not enforce any structure is mainly because Go is being used in various use cases and is not just for web application. Also, Go is a procedural language so strict OOP oriented project structure won’t work effectively here.

There are no rules or opinions when it comes to structuring your application. If you do Go Project Structure correctly from the start, it already performs 12 Factors nicely for you.

Then, it’s up to you to implement MTC, MVVM, or whatever structure best suited for your requirements.

For standardized coding conventions, check out https://github.com/golangci/golangci-lint where it provides codes checking and a number of great linting (e.g. gosec for security).

Great job ramping up! Enjoy Go programming.