Maison > développement back-end > Golang > Puis-je définir des variables de package dans des packages Go non principaux à l'aide de « -ldflags -X » ?

Puis-je définir des variables de package dans des packages Go non principaux à l'aide de « -ldflags -X » ?

DDD
Libérer: 2024-12-22 22:00:17
original
654 Les gens l'ont consulté

Can I Set Package Variables in Non-Main Go Packages Using `-ldflags -X`?

Définition des variables de package à l'aide de -ldflags -X dans Golang Build

Lors de la création d'applications Go à l'aide de la commande go build, les développeurs peuvent définir des variables de package en utilisant les options -ldflags -X. Cette technique est couramment utilisée pour injecter des chaînes de version, des valeurs de configuration ou d'autres métadonnées dans le binaire compilé.

Cependant, la question se pose de savoir s'il est possible de définir des variables de package dans un package spécifique, plutôt que dans le package principal. Voici comment cela peut être réalisé :

La documentation de l'indicateur -X indique explicitement :

-X importpath.name=value
Set the value of the string variable in importpath named name to value.
Copier après la connexion

Cela indique que l'indicateur -X peut être utilisé avec n'importe quel package, pas seulement le package principal emballer. Pour spécifier une variable de package, fournissez simplement le chemin d'importation complet (de la même manière que vous importeriez le package dans votre code).

Par exemple, si votre package de configuration se trouve dans $GOPATH/src/my/package /config, vous pouvez définir la variable Version dans ce package à l'aide de la commande suivante :

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

Cela définira la variable Version dans le package de configuration, même si la commande build est exécutée dans le fichier principal. paquet.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal