2017-09-16 8 views
0

Je suis un débutant en golang, et je lisais l'article How to write Go code sur le site Web aller. Il explique comment la structure typique Go contient trois dossiers à la racine du projet:Pourquoi ne puis-je trouver aucun paquet go qui suit la structure standard src/pkg/bin?

bin/ 
    contains compiled code 
pkg/ 
    contains package objects 
src/ 
    contains the Go source files 

Donc, pour apprendre d'autres projets que j'ai vérifié quelques projets de go populaires à github, mais à ma grande surprise, je ne vois pas ce src/pkg/bin structure dans l'un de ces projets.

Qu'est-ce qui me manque ici? Quelqu'un connaît-il un projet (de préférence simple) en golang qui suit cette structure? Je pense que je pourrais apprendre beaucoup en lisant le code d'autres personnes.

+3

C'est la structure de GOPATH, pas de paquets – JimB

Répondre

1

La structure que vous référencez dans votre question n'est pas la façon dont les projets sont structurés mais plutôt la façon dont l'espace de travail local est configuré.

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

En règle générale, vous configurez un espace de travail dans votre machine locale, par exemple, vous configurez la racine de votre espace de travail pour être:

$HOME/go

Vous pointez votre environnement GOPATH variable à $HOME/go pour que Go sache que c'est l'emplacement de votre espace de travail.

Dans votre espace de travail, vous créez ensuite les dossiers src, bin et pkg décrits dans la documentation.

Inside src est l'endroit où vous extrayez (ou créez vos propres) dossiers de projet.

+0

Ah, je pense que je l'ai maintenant. Voulez-vous dire que j'aurai TOUS mes projets dans des dépôts séparés dans le dossier 'src /'? Donc à chaque fois que j'ouvre mon éditeur (Gogland) j'ouvre toujours le même projet, dans lequel j'ouvre alors le dossier src de mon choix? – kramer65

+0

@ kramer65: c'est vrai – eugenioy

+0

Et l'avantage est que vous pouvez toujours utiliser tous les paquets dans tous vos projets, n'est-ce pas? Cela signifie-t-il également que les paquets importés avec 'go get package' existent dans le même dossier' src/'à côté de vos propres projets et paquets? – kramer65