Bibliothèques et binaires multiples avec des noms identiques
Cette question explore la possibilité de créer une bibliothèque et un binaire autonome portant le même nom. L'exemple de l'outil de ligne de commande Tar et de sa fonctionnalité de bibliothèque illustre ce scénario.
Initialement, l'utilisateur a tenté la structure de répertoires suivante :
src/ tar/ tar.go # belongs to package tar main.go # imports tar and provides a main function
Cependant, cela a abouti à une "commande " appelé tarbin, pas la commande tar souhaitée.
Pour résoudre ce problème, l'utilisateur a utilisé la solution de contournement consistant à spécifier explicitement le nom du binaire de sortie à l'aide de go build -o $GOPATH/bin/tar tar.
Une solution plus élégante suggérée par le répondeur consiste à organiser le code comme suit :
src/ tar/ tar.go # tar libary tar/ main.go # tar binary
En utilisant cette structure, le binaire résultant sera nommé tar , tandis que la bibliothèque s'appelle tar.
Si le code est hébergé sur GitHub, la structure des répertoires serait la suivante suit :
src/ github.com/ you/ tar/ tar.go # tar libary tar/ main.go # tar binary
Cette organisation garantit que la commande go peut installer à la fois le binaire et la bibliothèque lorsqu'elle est utilisée avec go get install github.com/you/tar/tar.
L'avantage L'un des avantages de cette approche est qu'elle permet de créer et de tester tout le code du projet en utilisant go install ./....
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!