GoLang est un langage de programmation puissant avec une méthode d'initialisation unique lorsqu'il s'agit de variables de type non basiques. Cet article explique comment utiliser LDFLAGS pour initialiser des variables de type non basiques dans GoLang. LDFLAGS est un paramètre du compilateur Go et peut être transmis en définissant des variables d'environnement. Avec LDFLAGS, nous pouvons fournir des valeurs par défaut pour les variables de type non basiques au moment de la compilation, simplifiant ainsi la logique du code et améliorant l'efficacité du développement. Examinons ensuite la méthode de mise en œuvre spécifique.
J'essaie d'initialiser une variable au moment de la construction en utilisant l'option ldflags dans go build.
Ce code fonctionne bien :
var version func printVersion() { fmt.Printf(version) // prints the corresponding value }
<code>go build -ldflags="-X $(ROOT)/pkg/info.version=123" </code>
Mais je n'arrive pas à trouver un moyen d'initialiser les variables de ma propre structure définie. Je veux dire, ça ne semble pas fonctionner :
type VersionInfo struct { version string } var versionInfo VersionInfo func printVersion() { fmt.Printf(versionInfo.version) }
<code>go build -ldflags="-X $(ROOT)/pkg/info.versionInfo.version=123" </code>
Je ne trouve rien traitant de ce problème dans la documentation officielle. Des idées?
Selon la documentation, il semble qu'il ne soit pas possible de le faire via les indicateurs de l'éditeur de liens. Le type de la variable doit être string
.
Source : //m.sbmmt.com/link/0a97e4f47718632c556e9ac591d5f3c2 p>
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!