So fügen Sie Golang Build-Tags hinzu

So Fugen Sie Golang Build Tags Hinzu



Build-Tags in Go sind eine leistungsstarke Funktion, die es uns ermöglicht, einen bestimmten Code während des Build-Prozesses basierend auf bestimmten Build-Einschränkungen bedingt einzuschließen oder auszuschließen. Diese Flexibilität ermöglicht es uns, plattformspezifische Builds für verschiedene Betriebssysteme, Architekturen oder andere umgebungsspezifische Anforderungen zu erstellen. Build-Tags sind spezielle Kommentare, die am Anfang einer Quelldatei direkt über der Paketdeklaration hinzugefügt werden. Diese Tags stellen dem Go-Build-System Anweisungen zum Umgang mit dem Code in dieser Datei während des Kompilierungsprozesses bereit.

Beispiel 1: Fügen Sie das Golang Build Tag für das Linux-System hinzu

Um auf das Linux-Betriebssystem abzuzielen, können wir das Build-Tag „// +build linux“ hinzufügen.

//Gehe Linux bauen

// + Linux erstellen

Paket hauptsächlich

importieren „fmt“

Funktion hauptsächlich () {

fmt . Druckenln ( „Hallo Linux-Systembeispiel“ )

}

Hier legen wir die Build-Einschränkungen in Go fest, die festlegen, dass der Code nur erstellt werden soll, wenn das Zielsystem Linux ist. Danach definieren wir das Paket und importieren die erforderliche Anweisung für den Code. Dann geben wir die main()-Methode ein, in der wir die Nachricht mit dem „Println“-Aufruf aus dem „fmt“-Paket drucken.







Somit wird die Meldung für das Linux-Betriebssystem erfolgreich auf der Konsole angezeigt:





Beispiel 2: Fügen Sie das Golang Build Tag für Windows-System hinzu

Wenn wir nur möchten, dass der Code auf der Windows-Plattform ausgeführt wird, verwenden wir das Build-Tag „// +build windows“ am Anfang der Datei. Dadurch können wir sicherstellen, dass der Code nur dann in den Build integriert wird, wenn Windows die vorgesehene Plattform ist.





// +Fenster erstellen

Paket hauptsächlich

importieren „fmt“

Funktion hauptsächlich () {

fmt . Druckenln ( „Hallo, Windows-Beispiel!“ )

}

Hier verwenden wir die Build-Einschränkung „// +build windows“, um sicherzustellen, dass der Code nur beim Erstellen für die Windows-Plattform kompiliert und ausgeführt wird. Danach fügen wir mit dem Paket- und Importmodifikator das erforderliche Paket für den Code hinzu. Dann kommt die Funktion main(), die die Funktion println() verwendet, um die Anweisung beim Erstellen der Fenster-Tags in Golang zu drucken.

Wenn wir dieses Programm auf einem Windows-System erstellen und ausführen, wird das „Hallo, Windows-Beispiel!“ angezeigt. Nachricht an die Konsole. Beachten Sie, dass das Programm aufgrund der Build-Einschränkung nicht auf anderen Betriebssystemen erstellt oder ausgeführt werden kann.



Beispiel 3: Fügen Sie das Golang Build Tag für das Nicht-Windows-System hinzu

Wenn wir umgekehrt den Code beim Erstellen für Windows ausschließen möchten, können Sie das „!“ verwenden. Ausrufezeichen mit dem Build-Tag.

// +build !windows

Paket hauptsächlich

importieren „fmt“

Funktion hauptsächlich () {

fmt . Druckenln ( „Hallo, außer Windows!“ )

}

Hier erstellen wir eine Einschränkungsanweisung, die angibt, dass der Code auf anderen Plattformen als Windows erstellt und ausgeführt werden soll. Das Ausrufezeichen (!) vor Windows bedeutet, dass dieser Code für alle Plattformen außer Windows enthalten sein sollte. Dann fahren wir mit demselben Programm wie in der vorherigen Funktion fort, wo wir zuerst die Pakete hinzufügen und die Funktion main() aufrufen, um die Nachricht auszuführen, die in der Funktion println() übergeben wird.

Somit generiert die Ausgabe die Meldung auf den Betriebssystemkonsolen. Beachten Sie, dass es aufgrund der Build-Einschränkung nicht auf dem Windows-Betriebssystem ausgeführt werden kann:

Beispiel 4: Fügen Sie das Golang Build Tag mit der OR-Logik hinzu

Um den Code bei der Ausrichtung auf Windows ODER Linux einzuschließen, können wir das Build-Tag „// +build windows Linux“ verwenden.

// +Windows Linux erstellen

Paket hauptsächlich

importieren „fmt“

Funktion hauptsächlich () {

fmt . Druckenln ( „Hey, Windows- oder Linux-Benutzer“ )

}

Hier wenden wir die Build-Einschränkung mit dem logischen OR an, das sowohl für Windows- als auch für Linux-Betriebssysteme erstellt werden soll. Die Zeile „// +build windows Linux“ gibt an, dass diese Datei in den Build einbezogen werden soll, wenn die Zielplattform entweder Windows oder Linux ist. Als nächstes importieren wir das „fmt“-Paket aus der Go-Standardbibliothek, das die grundlegenden Eingabe- und Ausgabefunktionen bereitstellt. In der Hauptfunktion drucken wir die String-Anweisung „Hey, Windows- oder Linux-Benutzer“ mit der Funktion Println() aus dem Paket „fmt“.

Daher wird die Ausgabe im Folgenden abgerufen. Unabhängig davon, ob wir das Betriebssystem Windows oder Linux verwenden, wird die gleiche Meldung generiert:

Beispiel 5: Fügen Sie das Golang Build Tag mit der AND-Logik hinzu

Wir können mehrere Build-Tags angeben, um komplexere Bedingungen zu erstellen. Mit dem Befehl „// +build windows,linux“ kann ein Code sowohl für Linux als auch für Windows generiert werden.

// +windows erstellen,386

Paket hauptsächlich

importieren „fmt“

Funktion hauptsächlich () {

fmt . Druckenln ( „Das ist 32-Bit-Windows“ )

}

Hier ist die Build-Einschränkung definiert „// +build windows,386“, die angibt, dass die Go-Datei in den Build einbezogen werden soll, wenn die Zielplattform ein 32-Bit-Windows ist. Beachten Sie, dass wir zwischen Windows und 386 ein Komma „“ verwenden, das als logischer UND-Operator fungiert. Das bedeutet, dass beide Bedingungen erfüllt sein müssen, damit der Code in den Build einbezogen wird.

Anschließend importieren wir, ähnlich wie im vorherigen Beispiel, das Paket „fmt“ aus der Go-Standardbibliothek, um die Println-Funktion() für die Ausgabe zu verwenden. Wir haben die Funktion main() des Programms, bei der die Anweisung als Argument an die Funktion println() übergeben wird.

Wenn wir dieses Programm auf einem 32-Bit-Windows-System erstellen und ausführen, zeigt es die angegebene Meldung als Ausgabe an. Wenn wir jedoch versuchen, es auf einem anderen Betriebssystem oder einer anderen Architektur zu erstellen und auszuführen, wird es nicht in den Build einbezogen:

Beispiel 6: Fügen Sie das Golang-Build-Tag für eine bestimmte Funktion hinzu

Darüber hinaus können Build-Tags auch auf bestimmte Funktionen innerhalb einer Datei angewendet werden. Aufgrund der Build-Einschränkungen können wir jetzt bestimmte Funktionen bedingt einschließen oder entfernen.

Paket hauptsächlich

importieren „fmt“

Funktion hauptsächlich () {

fmt . Druckenln ( „Hey, viel Spaß!“ )

printWindowsMessage ()

}

// +Fenster erstellen

Funktion printWindowsMessage () {

fmt . Druckenln ( „Hallo vom Windows-Betriebssystem“ )

}

Hier gehen wir nun zur main()-Methode über, die die vom „fmt“-Paket bereitgestellte Println()-Methode verwendet, um die Nachricht am Anfang zu drucken. Anschließend stellen wir die Funktion printWindowsMessage() unterhalb der Funktion main() bereit und geben die Build-Einschränkung „// +build windows“ an. Dies weist darauf hin, dass die Funktion nur dann im Build enthalten ist, wenn die Zielplattform Windows ist.

Schließlich stellen wir die Funktion printWindowsMessage() so ein, dass die angegebene Nachricht „Hallo vom Windows-Betriebssystem“ mithilfe der Funktion Println() gedruckt wird.

Somit wird die Ausgabe abgerufen, die sowohl die allgemeine Nachricht als auch die plattformspezifische Nachricht anzeigt. Beachten Sie, dass, wenn wir es auf einem anderen Betriebssystem erstellen und ausführen, die Funktion printWindowsMessage() nicht in den Build einbezogen wird und nur die allgemeine Meldung angezeigt wird:

Abschluss

Das Hinzufügen von Build-Tags in Go bietet die Möglichkeit, die Codeeinbindung während des Build-Prozesses anzupassen. Durch die Nutzung der Build-Tags können wir plattformspezifische Builds erstellen, den Code für verschiedene Architekturen optimieren und sogar bestimmte Funktionen oder Features bedingt einbinden.