2016-11-15 27 views
1

私は$GOPATH$HOME/goと定義しており、vim-goを使用するときは、そのフォルダに複数のバイナリ(GoInstallBinariesを使用)をインストールしています。今の構造は次のような構造になっています:

--go/ 
----bin/ 
------ list of binaries 

----pkg/ 
------linux_amd64 
--------- list of other directories 

----src/ 
------github.com 
--------several other directories, similar with ones below 
------golang.org 
------gopg.in 

私はこの構造内で私自身のプロジェクトをどこから始めたいのですか?私はそれがsrcの下にあるはずであることを理解して、私自身のプロジェクトvirtual_treeを作成したいとします。しかし、それはgithub.comの中にあるべきですか?私のプロジェクトはどこに行くべきですか?何かのためにpkg/を使用する必要がありますか? bin/にはプロジェクトの実行可能ファイルが含まれていることを理解しています。

ありがとうございます!

+2

読む(フォロー)https://golang.org/doc/code.html#Organization。 – Volker

+1

これは単なる簡単な質問ですが、私はプロジェクトを作りたいのですか?はいの場合は、GOPATHの階層に従うべきです –

答えて

4
  1. $GOPATH/src/REPOSITORY_PROVIDER/USERNAME/PROJECTの規約に従ってください。したがって、virtual_treeプロジェクトがgithubに存在する場合は、$GOPATH/src/github.com/naz/virtual_treeに配置する必要があります。

  2. pkgディレクトリには、コンパイルされたパッケージが含まれています。そのディレクトリ内で、ターゲットアーキテクチャを記述するサブディレクトリが作成され、ソースディレクトリを反映します。上

読む:

https://dave.cheney.net/2014/12/01/five-suggestions-for-setting-up-a-go-project

https://www.goinggo.net/2013/07/how-packages-work-in-go-language.html

+0

これは '$ domain/$ pathname'によく似ています。 GitHubを使う場合、これは '$ provider/$ username/$ project'を意味しますが、これは決して強制されたり、"推奨 "されません。例えば私はこの規則に従わないパッケージに対して私自身のドメインを使います。 – Carpetsmoker