Golang Build címkék hozzáadása

Golang Build Cimkek Hozzaadasa



A Go összeállítási címkéi egy olyan hatékony funkció, amely lehetővé teszi, hogy feltételesen beépítsünk vagy kizárjunk egy adott kódot a felépítési folyamat során, meghatározott összeépítési megkötések alapján. Ez a rugalmasság lehetővé teszi, hogy platform-specifikus buildeket hozzunk létre a különböző operációs rendszerekhez, architektúrákhoz vagy más környezetspecifikus követelményekhez. Az összeállítási címkék olyan speciális megjegyzések, amelyek a forrásfájl elejére kerülnek, közvetlenül a csomag deklarációja fölé. Ezek a címkék utasításokat adnak a Go build rendszernek arra vonatkozóan, hogyan kell kezelni az adott fájlban található kódot a fordítási folyamat során.

1. példa: Adja hozzá a Golang Build Tag Linux rendszerhez

A Linux operációs rendszer megcélzásához hozzáadhatjuk a „// +build linux” build címkét.

// építs linuxot

// +Linux építése

csomag fő-

import 'fmt'

func fő- () {

fmt . Println ( 'Hello Linux System példa' )

}

Itt beállítjuk a Go-ban az összeállítási megszorításokat, amelyek azt írják elő, hogy a kódot csak akkor kell elkészíteni, ha a célrendszer Linux. Ezt követően definiáljuk a csomagot, és importáljuk a kódhoz szükséges utasítást. Ezután belépünk a main() metódusba, ahol kinyomtatjuk az üzenetet az „fmt” csomag „Println” hívásával.







Így az üzenet sikeresen megjelenik a konzolon Linux operációs rendszer esetén:





2. példa: Adja hozzá a Golang Build címkét a Windows rendszerhez

Ha csak azt akarjuk, hogy a kód a Windows platformon fusson le, akkor a fájl elején a „// +build windows” build címkét használjuk. Ebből megbizonyosodhatunk arról, hogy a kód csak akkor kerül beépítésre, ha a Windows a tervezett platform.





// +ablakok építése

csomag fő-

import 'fmt'

func fő- () {

fmt . Println ( 'Helló, Windows példa!' )

}

Itt a „// +build windows” összeállítási megszorítást használjuk annak biztosítására, hogy a kód csak akkor kerüljön fordításra és végrehajtásra, amikor a Windows platformra készül. Ezt követően a csomaghoz és az import módosítóhoz mellékeljük a kódhoz szükséges csomagot. Ezután jön a main() függvény, amely a println() függvényt használja az utasítás kinyomtatására, amikor az ablak címkéit Golangban készíti.

Amikor ezt a programot Windows rendszeren készítjük és futtatjuk, megjelenik a „Helló, Windows példa!” üzenetet küld a konzolnak. Vegye figyelembe, hogy a program nem épül fel vagy nem fut más operációs rendszeren az összeállítási kényszer miatt.



3. példa: Adja hozzá a Golang Build címkét a nem Windows rendszerhez

Ezzel szemben, ha ki akarjuk zárni a kódot a Windows rendszerhez való építés során, használhatja a „!” felkiáltójel a build címkével.

// +build !windows

csomag fő-

import 'fmt'

func fő- () {

fmt . Println ( – Helló, kivéve a Windowst! )

}

Itt létrehozunk egy kényszer direktívát, amely jelzi, hogy a kódot a Windowstól eltérő platformokon kell elkészíteni és végrehajtani. A Windows előtti felkiáltójel (!) azt jelzi, hogy ezt a kódot a Windows kivételével minden platformon szerepeltetni kell. Ezután ugyanazzal a programmal járunk el, mint az előző függvényben, ahol először hozzáadjuk a csomagokat, és meghívjuk a main() függvényt, hogy végrehajtsuk a println() függvényen belül átadott üzenetet.

Így a kimenet az operációs rendszer konzoljain generálja az üzenetet. Ne feledje, hogy a Windows operációs rendszeren nem fog futni az összeállítási kényszer miatt:

4. példa: Adja hozzá a Golang Build címkét a VAGY logikával

A kód Windows VAGY Linux megcélzásakor a „// +build windows Linux” build címkét használhatja.

// +a Windows Linux építése

csomag fő-

import 'fmt'

func fő- () {

fmt . Println ( 'Hé, Windows vagy Linux felhasználók' )

}

Itt alkalmazzuk az összeállítási megszorítást a logikai VAGY-val, amelyet mind a Windows, mind a Linux operációs rendszerekhez kívánunk építeni. A „// +build windows Linux” sor megadja, hogy ezt a fájlt bele kell foglalni a buildbe, ha a célplatform Windows vagy Linux. Ezután importáljuk az „fmt” csomagot a Go standard könyvtárból, amely biztosítja az alapvető bemeneti és kimeneti funkciókat. A fő függvényben a „Hey, Windows or Linux Users” karakterlánc utasítást nyomtatjuk ki az „fmt” csomag Println() függvényével.

Ezért a kimenetet a következőkben lekérjük. Ugyanaz az üzenet jelenik meg, függetlenül attól, hogy Windows vagy Linux operációs rendszert használunk:

5. példa: Adja hozzá a Golang Build címkét az ÉS logikával

Több összeállítási címkét is megadhatunk összetettebb feltételek létrehozásához. A „// +build windows,linux” paranccsal kódot generálhatunk Linuxra és Windowsra is.

// +build windows,386

csomag fő-

import 'fmt'

func fő- () {

fmt . Println ( 'Ez 32 bites Windows' )

}

Itt a definiált összeállítási kényszer a „// +build windows,386”, amely meghatározza, hogy a Go fájlnak szerepelnie kell a buildben, ha a célplatform egy 32 bites Windows. Vegye figyelembe, hogy a Windows és a 386 között vesszőt használunk, amely logikai ÉS operátorként működik. Ez azt jelenti, hogy mindkét feltételnek teljesülnie kell ahhoz, hogy a kód bekerüljön a buildbe.

Ezután az előző példához hasonlóan importáljuk az „fmt” csomagot a Go standard könyvtárból, hogy a Println függvényt() használjuk a kimenethez. Megvan a program main() függvénye, ahol az utasítás argumentumként kerül átadásra a println() függvénynek.

Amikor ezt a programot 32 bites Windows rendszeren készítjük és futtatjuk, a megadott üzenetet jeleníti meg kimenetként. Ha azonban más operációs rendszeren vagy architektúrán kíséreljük meg felépíteni és futtatni, akkor az nem fog szerepelni a buildben:

6. példa: Adja hozzá a Golang Build címkét egy adott funkcióhoz

Ezenkívül az összeállítási címkék a fájlon belüli meghatározott funkciókra is alkalmazhatók. Az összeállítási korlátok miatt mostantól feltételesen beilleszthetünk vagy eltávolíthatunk bizonyos függvényeket.

csomag fő-

import 'fmt'

func fő- () {

fmt . Println ( – Szia, jó szórakozást! )

printWindowsMessage ()

}

// +ablakok építése

func printWindowsMessage () {

fmt . Println ( 'Üdvözlöm a Windows operációs rendszert' )

}

Itt most áttérünk a main() metódusra, amely az „fmt” csomag által biztosított Println() metódust használja az üzenet kezdeti kinyomtatására. Ezután telepítjük a printWindowsMessage() függvényt a main() függvény alá, és megadjuk a „// +build windows” összeállítási kényszert. Ez azt jelzi, hogy a funkció csak akkor szerepel a buildben, ha a célplatform Windows.

Végül a printWindowsMessage() függvényt úgy állítjuk be, hogy a Println() függvény segítségével kinyomtassa a megadott „Hello From Windows Operating system” üzenetet.

Így a kimenet lekérésre kerül, amely mind az általános üzenetet, mind a platform-specifikus üzenetet megjeleníti. Vegye figyelembe, hogy ha más operációs rendszeren építjük és futtatjuk, akkor a printWindowsMessage() függvény nem kerül bele a buildbe, és csak az általános üzenet jelenik meg:

Következtetés

Összeállítási címkék hozzáadása a Go alkalmazásban lehetővé teszi a kódbefoglalás testreszabását az összeállítási folyamat során. A build címkék felhasználásával létrehozhatjuk a platform-specifikus buildeket, optimalizálhatjuk a kódot a különböző architektúrákhoz, és akár feltételesen is beépíthetünk bizonyos funkciókat vagy szolgáltatásokat.