Summary
In this section, we have covered lots of topics, including the most important recommendations for writing Go applications and the standards for the project layout of Go applications. The knowledge we gained helped us during the code scaffolding of our microservices—we have tried to implement our microservice code in an idiomatic way as much as possible.
You have also learned how to split each of your microservices into multiple layers, each responsible for its own logic. We have illustrated how to separate the business logic from the code accessing the database, and how to separate the API handler logic from both, as well as from the logic performing remote calls between the services.
While the amount of information in this chapter is quite overwhelming, we have made a solid start and are ready to move on to more advanced topics. In the next chapter, we are going to see how the microservices we created can explore each other, so we can finally test them.