Boilerplate
Boilerplate является набором шаблонов кода, которые можно использовать для создания базовой структуры проекта, включая настройку конфигурации, маршрутизацию, базы данных и т. д. Компании, использующие Go, пишут свой boilerplate, потому что это позволяет им быстро начать разработку проектов с определенными стандартами и практиками.
Использование собственного boilerplate также позволяет компаниям настроить разработку под свои конкретные потребности и требования к качеству кода. Это также упрощает поддержку кода и улучшает его согласованность внутри компании.
О том, за что отвечает каждая папка в каждом проекте, можно почитать на GitHub.
Обрати внимание на то, что проект golang-standards не является официальным. В пул реквестах замечены разработчики языка Golang, которые критикуют данный проект и называют этот подход к структуре папок устаревшим паттерном и антипаттерном.
Поэтому используй данный проект только для ознакомления с информацией о том, за что отвечает та или иная папка. Так получилось, что множество разработчиков русскоязычного пространства считает проект Golang-standards официальным и очень часто придерживаются данной структуры проекта.
Например, использование папки pkg в некоторых кругах считается устаревшим, но она все еще используется во многих проектах на языке Go для хранения публичных пакетов. В последнее время возникла тенденция использования другого стиля организации кода, в котором все публичные пакеты хранятся в корневой директории проекта, а не в папке pkg. Этот стиль упрощает импорт публичных пакетов и улучшает видимость кода.
Мы будем рассматривать структуру проекта, с которой ты можешь ознакомиться по ссылке.