Для организации структуры проекта на Golang для реализации веб-приложения можно использовать следующую структуру: golangify.com
- Папка cmd. golangify.com Содержит папки разных приложений в проекте. golangify.com Веб-приложение будет находиться в папке cmd/web. golangify.com
- Папка pkg. golangify.com Содержит вспомогательный код, не зависящий от приложения в проекте. golangify.com Это могут быть вспомогательные средства проверки данных и модели базы данных для проекта. golangify.com
- Папка ui. golangify.com Содержит файлы HTML-шаблона для пользовательского интерфейса, используемые веб-приложением. golangify.com В частности, папка ui/html будет содержать HTML-шаблоны, а папка ui/static — статические файлы (например, CSS, JS и изображения). golangify.com
Такая структура позволяет чётко разделить Go-файлы с кодом и файлы пользовательского интерфейса (HTML, CSS, JS), которые не связаны с Go. golangify.com Это упрощает работу с веб-приложением при развитии и развёртывании приложения в будущем. golangify.com
Также в корне проекта можно создать папку /internal, в которой хранится внутренняя логика приложения. cartwild.hashnode.dev