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
Mary-Kate Olsenoriginal
2024-12-16 08:00:23713parcourir

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

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)

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!

Déclaration:
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