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

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

Mary-Kate Olsen
Libérer: 2024-11-30 19:55:11
original
988 Les gens l'ont consulté

How Can I Create a Go Binary and Library with the Same Name?

Partage d'un nom entre bibliothèques et binaires dans Go

Lors de la création d'un progiciel, vous souhaiterez peut-être une bibliothèque et un binaire autonome avec le même nom. Cela peut être utile pour des outils comme tar, qui est utilisé à la fois comme commande et comme bibliothèque.

Au départ, vous pouvez essayer une structure de répertoires simple :

src/
    tar/
        tar.go # belongs to package tar
        main.go # imports tar and provides a main function
Copier après la connexion

Cependant, cette approche conduit à un binaire nommé « tarbin » au lieu de « tar ». Pour résoudre ce problème, la documentation Go recommande de séparer la commande et la bibliothèque dans des répertoires distincts :

src/
    tar/
        tar.go # belongs to package tar
    tarbin/
        main.go # imports tar and provides a main function
Copier après la connexion

Bien que cela produise une commande nommée "tar", la bibliothèque s'appelle désormais "tarbin".

Une solution plus élégante consiste à imbriquer le binaire dans le répertoire de la bibliothèque :

src/
    tar/
        tar.go         # tar library
        tar/
            main.go    # tar binary
Copier après la connexion

Cette structure fournit à la fois un binaire nommé "tar" et une bibliothèque nommée "tar."

En fonction de vos priorités, vous pouvez échanger les positions de la bibliothèque et du binaire au sein de la structure imbriquée.

Le fait de regrouper tout le code dans une seule arborescence offre des avantages, tels que exécutez go install ./... à partir du répertoire racine pour créer tous les packages et sous-packages.

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!

source:php.cn
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