Ответ на все ваши вопросы здесь: http://golang.org/doc/code.html Вы должны действительно прочитать эту страницу, но подвести итог основной причины, почему вам нужно структурировать ваши пойдут рабочие области, что путь, так инструмент идти (это включает в себя компилятор и инструмент для автоматической загрузки библиотек) могут делать все, что он делает.
При установке идут программы она автоматически помещается в $GOPATH/bin
, и при создании библиотеки, он автоматически добавляется в $GOPATH/pkg
позволяет иметь централизованное место для сторонних библиотек и тем самым мешает вам делать ненужные копии библиотек , Ваши проекты должны быть в $GOPATH/src/some_online_repository_location/project_name
или $GOPATH/src/project_name
. Последняя часть пути - это имя пакета, но вы должны прочитать об этом в http://golang.org/doc/effective_go.html#names.
ПРИМЕР: Для вас приветствуете проект, который вы размещаете на github, правильный путь на вашем рабочем пространстве: $GOPATH/src/github.com/youruser/hello/
. Это позволяет инструменту go автоматически загружать библиотеки из онлайн-репозиториев с помощью команды go get
. Пример: go get github.com/youruser/hello
Поддержание этого «стандартного» решения позволяет легко работать во всех системах без какой-либо конфигурации, а также имеет побочный эффект, заключающийся в том, что все проекты проекта структурированы одинаково, поэтому, когда вы получаете чужой код вы знаете, как он структурирован, и вы знаете, что он будет работать в вашем текущем рабочем пространстве.
Прочтите все документ http://golang.org/doc/code.html, и вы должны понимать его лучше. Надеюсь, это поможет, прокомментируйте, если у вас есть какие-либо сомнения.
Спасибо, я понял. – dmportella