Maison > développement back-end > Golang > Comment puis-je créer une bibliothèque et un binaire autonome portant le même nom dans Go ?

Comment puis-je créer une bibliothèque et un binaire autonome portant le même nom dans Go ?

Barbara Streisand
Libérer: 2024-11-27 01:25:09
original
476 Les gens l'ont consulté

How Can I Build a Library and a Standalone Binary with the Same Name in Go?

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal