Maison > développement back-end > Golang > Le « -ldflags -X » de Go peut-il attribuer des variables à des packages autres que « main » ?

Le « -ldflags -X » de Go peut-il attribuer des variables à des packages autres que « main » ?

Mary-Kate Olsen
Libérer: 2024-12-16 08:00:23
original
710 Les gens l'ont consulté

Can Go's `-ldflags -X` Assign Variables to Packages Other Than `main`?

Affectation de variables de package avec -ldflags -X dans Go Build

Problème :

Lors de la création d'une application Go, est-ce il est possible d'attribuer une variable de chaîne de version à un package autre que le package principal en utilisant -ldflags -X options ?

Solution :

Oui, il est possible de définir une variable dans n'importe quel package en utilisant -ldflags -X. Cependant, cela nécessite de spécifier le chemin d'importation complet du package, pas seulement le nom du package.

Pour y parvenir, utilisez la syntaxe suivante :

-X importpath.package.variable=value
Copier après la connexion

Par exemple, si le package de configuration se trouve dans $GOPATH/src/my/package/config, utilisez la commande de build suivante :

go build -ldflags "-X my/package/config.Version=1.0.0" -o $(MY_BIN) $(MY_SRC)
Copier après la connexion

Cette commande attribuera la valeur 1.0.0 à la variable Version dans le package de configuration.

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