Kako dodati oznake gradnje Golang

Kako Dodati Oznake Gradnje Golang



Oznake gradnje v Go so zmogljiva funkcija, ki nam omogoča pogojno vključitev ali izključitev določene kode med postopkom gradnje na podlagi posebnih omejitev gradnje. Ta prilagodljivost nam omogoča, da ustvarimo zgradbe, specifične za platformo, za različne operacijske sisteme, arhitekture ali druge zahteve, specifične za okolje. Oznake gradnje so posebni komentarji, ki so dodani na začetku izvorne datoteke, tik nad deklaracijo paketa. Te oznake dajejo navodila sistemu Go build o tem, kako ravnati s kodo v tej datoteki med postopkom prevajanja.

1. primer: Dodajte oznako gradnje Golang za sistem Linux

Če želite ciljati na operacijski sistem Linux, lahko dodamo oznako gradnje »// +build linux«.

//pojdi zgraditi linux

// +zgradi linux

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Primer sistema Hello Linux' )

}

Tu smo v Go nastavili omejitve gradnje, ki določajo, da je treba kodo zgraditi le, če je ciljni sistem Linux. Nato definiramo paket in uvozimo zahtevani stavek za kodo. Nato vnesemo metodo main(), kjer natisnemo sporočilo s klicem »Println« iz paketa »fmt«.







Tako je sporočilo uspešno prikazano na konzoli za operacijski sistem Linux:





2. primer: Dodajte oznako gradnje Golang za sistem Windows

Ko samo želimo, da se koda izvaja na platformi Windows, uporabimo oznako gradnje “// +build windows” na začetku datoteke. Na podlagi tega lahko zagotovimo, da je koda vključena v gradnjo samo, če je predvidena platforma Windows.





// +zgradi okna

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Pozdravljeni, primer Windows!' )

}

Tukaj uporabljamo omejitev gradnje »// +build windows«, da zagotovimo, da se koda prevede in izvede samo pri gradnji za platformo Windows. Nato vključimo potreben paket za kodo s paketom in uvoznim modifikatorjem. Nato pride funkcija main(), ki uporablja funkcijo println() za tiskanje izjave pri gradnji oznak okna v Golangu.

Ko izdelamo in zaženemo ta program v sistemu Windows, prikaže »Pozdravljeni, primer Windows!« sporočilo na konzolo. Upoštevajte, da program zaradi omejitve gradnje ne bo zgrajen ali izveden v drugih operacijskih sistemih.



3. primer: Dodajte oznako gradnje Golang za sistem, ki ni Windows

Nasprotno, če želimo izključiti kodo pri gradnji za Windows, lahko uporabite »!» klicaj z oznako gradnje.

// +zgradite !windows

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Pozdravljeni, razen Windows!' )

}

Tukaj izdelamo omejitveno direktivo, ki nakazuje, da je treba kodo zgraditi in izvajati na platformah, ki niso Windows. Klicaj (!) pred Windows pomeni, da mora biti ta koda vključena za vse platforme razen Windows. Nato nadaljujemo z istim programom kot v prejšnji funkciji, kjer najprej dodamo pakete in pokličemo funkcijo main(), da izvedemo sporočilo, ki je posredovano znotraj funkcije println().

Tako izhod ustvari sporočilo na konzolah operacijskega sistema. Upoštevajte, da se ne bo izvajal v operacijskem sistemu Windows zaradi omejitve gradnje:

4. primer: Dodajte oznako zgradbe Golang z logiko ALI

Za vključitev kode pri ciljanju na Windows ALI Linux lahko uporabimo oznako gradnje »// +build windows Linux«.

// +zgradite windows Linux

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Hej, uporabniki sistema Windows ali Linux' )

}

Tukaj uporabimo omejitev gradnje z logičnim ALI, ki naj bi bila zgrajena za operacijska sistema Windows in Linux. Vrstica »// +build windows Linux« določa, da mora biti ta datoteka vključena v gradnjo, ko je ciljna platforma Windows ali Linux. Nato uvozimo paket »fmt« iz standardne knjižnice Go, ki zagotavlja osnovno vhodno in izhodno funkcionalnost. V glavni funkciji natisnemo stavek niza »Hey, Windows or Linux Users« s funkcijo Println() iz paketa »fmt«.

Zato je izhod pridobljen v naslednjem. Enako sporočilo se prikaže ne glede na to, ali uporabljamo operacijski sistem Windows ali Linux:

5. primer: Dodajte oznako zgradbe Golang z logiko IN

Določimo lahko več oznak gradnje, da ustvarimo bolj zapletene pogoje. Ukaz “// +build windows,linux” lahko uporabite za ustvarjanje kode za Linux in Windows.

// +zgradi okna,386

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'To je 32-bitni Windows' )

}

Tu je definirana omejitev gradnje »// +build windows,386«, ki določa, da mora biti datoteka Go vključena v gradnjo, ko je ciljna platforma 32-bitni Windows. Upoštevajte, da med Windows in 386 uporabljamo vejico »,« ki deluje kot logični operator IN. To pomeni, da morata biti izpolnjena oba pogoja, da bo koda vključena v gradnjo.

Nato, podobno kot v prejšnjem primeru, uvozimo paket »fmt« iz standardne knjižnice Go, da uporabimo funkcijo Println() za izpis. Imamo funkcijo main() programa, kjer je stavek posredovan kot argument funkciji println().

Ko zgradimo in zaženemo ta program v 32-bitnem sistemu Windows, kot izhod prikaže določeno sporočilo. Če pa ga poskušamo zgraditi in zagnati v drugem operacijskem sistemu ali arhitekturi, ne bo vključen v gradnjo:

Primer 6: Dodajte oznako gradnje Golang za določeno funkcijo

Poleg tega lahko oznake gradnje uporabite tudi za določene funkcije v datoteki. Zaradi omejitev gradnje lahko zdaj pogojno vključimo ali odstranimo določene funkcije.

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Pozdravljeni, uživajte!' )

printWindowsMessage ()

}

// +zgradi okna

funk printWindowsMessage () {

fmt . Println ( 'Pozdrav iz operacijskega sistema Windows' )

}

Zdaj preidemo na metodo main(), ki uporablja metodo Println(), ki jo nudi paket »fmt«, da na začetku natisne sporočilo. Nato razmestimo funkcijo printWindowsMessage() pod funkcijo main() in določimo omejitev gradnje »// +build windows«. To pomeni, da je funkcija vključena v gradnjo samo, če je ciljna platforma Windows.

Končno smo nastavili funkcijo printWindowsMessage(), da natisne določeno sporočilo »Pozdrav iz operacijskega sistema Windows« s funkcijo Println().

Tako se pridobi izhod, ki prikaže tako splošno sporočilo kot sporočilo, specifično za platformo. Upoštevajte, da če ga zgradimo in zaženemo v drugem operacijskem sistemu, funkcija printWindowsMessage() ne bo vključena v gradnjo in bo prikazano samo splošno sporočilo:

Zaključek

Dodajanje gradbenih oznak v Go omogoča prilagajanje vključitve kode med gradnjo. Z uporabo oznak gradnje lahko ustvarimo zgradbe, specifične za platformo, optimiziramo kodo za različne arhitekture in celo pogojno vključimo posebne funkcije ali funkcije.