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

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

Mary-Kate Olsen
Libérer: 2024-11-29 09:45:11
original
655 Les gens l'ont consulté

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

Bibliothèque et binaire du même nom

Un défi courant se pose lors de la conception d'une bibliothèque qui peut également fonctionner comme un binaire autonome. Bien qu'il semble logique de nommer la bibliothèque et le binaire de la même manière, le système de construction Golang attribue souvent des noms différents.

Une solution consiste à séparer la structure de répertoires en un répertoire tar pour la bibliothèque et un répertoire tarbin pour le binaire. Cependant, cette approche crée un binaire appelé tarbin au lieu de tar.

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 produit un binaire nommé tar et une bibliothèque nommée tar.

Dans un contexte GitHub, la structure de répertoires devient :

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

Cette structure permet une installation facile à la fois du binaire (allez installer github.com/you/tar/tar) et la bibliothèque (allez installer github.com/you/tar).

En fonction de l'importance souhaitée, la bibliothèque et le binaire peuvent être échangés dans la structure des répertoires. De plus, conserver tout le code dans une seule arborescence permet une création et des tests pratiques :

go install ./...
go test|fmt ./...
Copier après la connexion

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