2016-11-15 6 views
1

Ich habe meine $GOPATH als $HOME/go definiert und bei der Verwendung von vim-go wurden mehrere Binärdateien (mit: GoInstallBinaries) in diesen Ordner installiert. Nun ist die Struktur ähnlich wie:

--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 

Ich bin jetzt verwirrt, wo ich mein eigenes Projekt innerhalb dieser Struktur zu starten? Angenommen, ich wollte mein eigenes Projekt virtual_tree erstellen, von dem ich weiß, dass es unter src liegen sollte. Aber sollte das in github.com sein? Wohin soll mein Projekt gehen? Muss ich pkg/ für irgendetwas verwenden? Ich verstehe, dass bin/ die ausführbare Datei für das Projekt enthält.

Danke!

+2

lesen (und folgen) https://golang.org/doc/code.html#Organization. – Volker

+1

Es ist nur eine einfache Frage, will ich ein Projekt ** machen ** machen? Wenn ja, solltest du der Hierarchie in deinem GOPATH folgen –

Antwort

4
  1. Sie sollten die Konvention $GOPATH/src/REPOSITORY_PROVIDER/USERNAME/PROJECT befolgen. Wenn sich Ihr Projekt virtual_tree in github befindet, sollten Sie es in $GOPATH/src/github.com/naz/virtual_tree suchen.

  2. Das Verzeichnis pkg enthält die kompilierten Pakete. In diesem Verzeichnis wird ein Unterverzeichnis erstellt, das die Zielarchitektur beschreibt und die Quellverzeichnisse spiegelt.

mehr auf Lesen:

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

Es ist mehr wie '$ domain/$ pfadname'. Wenn Sie GitHub verwenden, bedeutet dies '$ provider/$ username/$ project', aber das wird in keiner Weise erzwungen oder sogar" empfohlen ". z.B. Ich verwende meine eigene Domain für Pakete, die dieser Konvention nicht folgen. – Carpetsmoker

Verwandte Themen