Heim >Backend-Entwicklung >Golang >Kann Gos „-ldflags -X' anderen Paketen als „main' Variablen zuweisen?

Kann Gos „-ldflags -X' anderen Paketen als „main' Variablen zuweisen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-16 08:00:23714Durchsuche

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

Paketvariablenzuweisung mit -ldflags -X in Go Build

Problem:

Beim Erstellen einer Go-Anwendung ist Es ist möglich, mit -ldflags -X einem anderen Paket als dem Hauptpaket eine Versionszeichenfolgenvariable zuzuweisen Optionen?

Lösung:

Ja, es ist möglich, eine Variable in jedem Paket mit -ldflags -X festzulegen. Es erfordert jedoch die Angabe des vollständigen Importpfads des Pakets und nicht nur des Paketnamens.

Um dies zu erreichen, verwenden Sie die folgende Syntax:

-X importpath.package.variable=value

Zum Beispiel, wenn das Konfigurationspaket sich unter $GOPATH/src/my/package/config befindet, verwenden Sie den folgenden Build-Befehl:

go build -ldflags "-X my/package/config.Version=1.0.0" -o $(MY_BIN) $(MY_SRC)

Dieser Befehl weist den Wert 1.0.0 zu zur Versionsvariablen im Konfigurationspaket.

Das obige ist der detaillierte Inhalt vonKann Gos „-ldflags -X' anderen Paketen als „main' Variablen zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn