Personnalisation des variables de package à l'aide de -ldflags -X dans Go
En tant que développeurs dans le monde en évolution de la programmation Go, nous rencontrons souvent des scénarios dans lesquels nous vous devez personnaliser les variables du package pendant le processus de construction. Cette question se concentre sur la définition des variables de package dans un package spécifique, plutôt que dans le package principal, à l'aide de l'option -ldflags -X.
Énoncé du problème
Un développeur a rencontré le vous devez définir une variable de version dans un package nommé config, au lieu du package principal par défaut. À l'aide de la commande -ldflags "-X main.Version=1.0.0", ils ont pu définir la variable dans le package principal, mais pas dans le package de configuration.
Solution
Selon la documentation Go pour le lien Commande, -X importpath.name=value définit la valeur de la variable chaîne dans importpath nommée name sur value. Le chemin d'importation, par opposition au simple nom du package, doit être spécifié.
Par conséquent, pour définir la variable Version dans le package de configuration, la commande correcte serait :
go build -ldflags "-X my/package/config.Version=1.0.0" -o $(MY_BIN) $(MY_SRC)
Où my/package/config est le chemin d'importation complet du package de configuration.
En utilisant cette approche, les développeurs peuvent facilement définir packagez les variables dans n'importe quel package souhaité pendant le processus de construction, permettant une plus grande flexibilité et personnalisation dans leurs applications Go.
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!