Как правильно организовать свой проект Go?

У меня проблемы с настройкой моего первого проекта. Я хочу, чтобы мои пакеты не попадали в мой репозиторий git.

go get по умолчанию устанавливает мои пакеты в мой /srcпапка. Таким образом, я не могу просто игнорировать папку, чтобы игнорировать все пакеты.

Могу ли я установить все свои пакеты, например, в /pkgи как бы мне это сделать? Есть ли способ решить эту проблему?

В больших проектах с открытым исходным кодом, написанных на Go, например Kubernetes, я не могу найти /src каталог.

1 ответ

Решение

Это похоже на проблему в вашем рабочем пространстве.

Каталог вашей рабочей области должен выглядеть так, но ваше рабочее пространство не должно быть корнем вашего репо.

/bin //<--compiled binaries
/src
   /adomain.com/yourstuff //<--these folders are where your repo root should be
   /gihub.com/otherstuff //<--these folders are your dependencies
/pkg //<-- installed packages / program files

Прочтите официальную документацию Go здесь:

https://golang.org/doc/code.html

Ниже приводится широко используемый стандарт организации проектов:

https://github.com/golang-standards/project-layout

См. Также: https://golang.org/doc/effective_go.html

Другие вопросы по тегам