Sé que fui yo quien hizo esta pregunta, busqué mucho para descubrir cómo estructurar mejor mis aplicaciones go. Solo quiero compartir lo que aprendí.
Tengo muchos blogs rojos, tres de ellos son los siguientes:
- Ve las mejores prácticas, seis años después – por Peter Bourgon
- Estructurando aplicaciones en Go – por Ben Johnson
- Diseño de paquete estándar – también por Ben Johnson
Le sugiero que lea estos artículos para obtener más información sobre la estructuración de las aplicaciones go.
- ¿De cuántas maneras podemos almacenar imágenes de nuestra aplicación web?
- ¿Cómo es el futuro del desarrollo web y los marcos web?
- ¿Cuál es el mejor sitio web de selección de inquilinos que muestra los desalojos del solicitante?
- ¿Qué es un marco web?
- ¿Cuál es la mejor manera de crear paneles basados en web basados en múltiples tablas y bases de datos MySQL?
Creé una aplicación de muestra para demostrar cómo estructuré mis aplicaciones go.
La aplicación se llama my-app :
La carpeta pkg contiene los paquetes que usará para sus aplicaciones. Estos paquetes envuelven sus dependencias , por ejemplo, en su paquete de sesiones , puede usar paquetes externos para administrar sus sesiones, por ejemplo, puede usar gorilla / sessions. Aquí está el contenido de sessions.go ( my-app / pkg / sessions / sessions.go) :
Luego, en su paquete principal ( my-app / cmd / my-app / main.go ), solo necesitará importar sus propios paquetes. Esto te da más flexibilidad.
También eché un vistazo a Docker en GitHub, (archivo docker.go), lo más probable es que hagan la misma forma de estructuración.
Espero que esto sea útil 🙂
Editar : Ah, por cierto, Quora User contribuyó mucho en esta pregunta. Aprendí mucho sobre otras cosas como Docker , Kubernetes y microservicios que no sabía antes de que respondiera esta pregunta.
Editar : Sé que me he perdido mucho de mi respuesta. Soy relativamente nuevo en Go. Me alegraría si alguien señalara lo que me estoy perdiendo aquí 🙂