Ako pridať značky na zostavenie Golang

Ako Pridat Znacky Na Zostavenie Golang



Značky zostavenia v Go sú výkonnou funkciou, ktorá nám umožňuje podmienečne zahrnúť alebo vylúčiť konkrétny kód počas procesu zostavovania na základe konkrétnych obmedzení zostavenia. Táto flexibilita nám umožňuje vytvárať platformy špecifické pre rôzne operačné systémy, architektúry alebo iné požiadavky špecifické pre prostredie. Značky zostavenia sú špeciálne komentáre, ktoré sa pridávajú na začiatok zdrojového súboru, tesne nad deklaráciu balíka. Tieto značky poskytujú systému zostavovania Go inštrukcie o tom, ako spracovať kód v tomto súbore počas procesu kompilácie.

Príklad 1: Pridajte značku Golang Build pre systém Linux

Ak chcete zacieliť na operačný systém Linux, môžeme pridať značku zostavenia „// +build linux“.

//choď zostaviť linux

// +zostavenie linuxu

balík Hlavná

importovať 'fmt'

func Hlavná () {

fmt . Println ( 'Ahoj príklad systému Linux' )

}

Tu sme nastavili obmedzenia zostavenia v Go, ktoré určujú, že kód by sa mal zostaviť iba vtedy, ak je cieľovým systémom Linux. Potom definujeme balík a importujeme požadovaný výpis pre kód. Potom zadáme metódu main(), kde správu vytlačíme pomocou volania „Println“ z balíka „fmt“.







Správa sa teda úspešne zobrazí na konzole pre operačný systém Linux:





Príklad 2: Pridajte značku Golang Build pre systém Windows

Keď chceme, aby sa kód spustil na platforme Windows, použijeme značku zostavenia „// +build windows“ na začiatku súboru. Z toho sa môžeme uistiť, že kód je začlenený do zostavy iba vtedy, keď je zamýšľanou platformou Windows.





// +vytvoriť okná

balík Hlavná

importovať 'fmt'

func Hlavná () {

fmt . Println ( 'Ahoj, príklad Windows!' )

}

Tu používame obmedzenie zostavovania „// +build windows“, aby sme zabezpečili, že kód sa skompiluje a spustí iba pri zostavovaní pre platformu Windows. Potom zahrnieme potrebný balík pre kód s balíkom a modifikátorom importu. Potom prichádza funkcia main(), ktorá využíva funkciu println() na vytlačenie príkazu pri vytváraní značiek okna v Golangu.

Keď vytvoríme a spustíme tento program v systéme Windows, zobrazí sa „Ahoj, príklad Windows!“ správu do konzoly. Upozorňujeme, že program nebude zostavený ani spustený na iných operačných systémoch z dôvodu obmedzenia zostavenia.



Príklad 3: Pridajte značku Golang Build pre systém iný ako Windows

Naopak, ak chceme vylúčiť kód pri vytváraní pre Windows, môžete použiť „!“ výkričník so značkou build.

// +zostavenie !okien

balík Hlavná

importovať 'fmt'

func Hlavná () {

fmt . Println ( 'Ahoj, okrem Windows!' )

}

Tu vytvárame direktívu obmedzenia, ktorá naznačuje, že kód by mal byť zostavený a spustený na iných platformách ako Windows. Výkričník (!) pred Windowsom znamená, že tento kód by mal byť zahrnutý pre všetky platformy okrem Windowsu. Potom pokračujeme s rovnakým programom ako v predchádzajúcej funkcii, kde najprv pridáme balíčky a zavoláme funkciu main(), aby vykonala správu, ktorá sa odovzdá vo funkcii println().

Výstup teda generuje správu na konzolách operačného systému. Majte na pamäti, že sa nespustí v operačnom systéme Windows kvôli obmedzeniu zostavenia:

Príklad 4: Pridajte značku Golang Build s logikou OR

Na zahrnutie kódu pri zacielení na Windows OR Linux môžeme použiť značku zostavenia „// +build windows Linux“.

// +zostavenie systému Windows Linux

balík Hlavná

importovať 'fmt'

func Hlavná () {

fmt . Println ( „Ahoj, používatelia systému Windows alebo Linux“ )

}

Tu aplikujeme obmedzenie zostavenia s logickým OR, ktoré má byť zostavené pre operačné systémy Windows aj Linux. Riadok „// +build windows Linux“ určuje, že tento súbor by mal byť zahrnutý do zostavy, keď je cieľovou platformou Windows alebo Linux. Ďalej importujeme balík „fmt“ zo štandardnej knižnice Go, ktorá poskytuje základné vstupné a výstupné funkcie. V hlavnej funkcii vytlačíme reťazec „Hey, Windows or Linux Users“ pomocou funkcie Println() z balíka „fmt“.

Preto sa výstup získa v nasledujúcom texte. Rovnaká správa sa generuje bez ohľadu na to, či používame operačný systém Windows alebo Linux:

Príklad 5: Pridajte značku Golang Build s logikou AND

Na vytvorenie zložitejších podmienok môžeme zadať viacero značiek zostavy. Príkaz „// +build windows,linux“ možno použiť na vygenerovanie kódu pre Linux aj Windows.

// +zostavenie okien,386

balík Hlavná

importovať 'fmt'

func Hlavná () {

fmt . Println ( 'Toto je 32-bitový Windows' )

}

Tu je definované obmedzenie zostavenia „// +zostavenie okien,386“, ktoré určuje, že súbor Go by mal byť zahrnutý do zostavy, keď je cieľovou platformou 32-bitový systém Windows. Všimnite si, že medzi Windows a 386 používame čiarku „,“ ktorá funguje ako logický operátor AND. To znamená, že obe podmienky musia byť splnené, aby bol kód zahrnutý do zostavy.

Potom, podobne ako v predchádzajúcom príklade, importujeme balík „fmt“ zo štandardnej knižnice Go, aby sme na výstup použili funkciu Println(). Máme funkciu main() programu, kde je príkaz odovzdaný ako argument funkcii println().

Keď vytvoríme a spustíme tento program na 32-bitovom systéme Windows, zobrazí sa zadaná správa ako výstup. Ak sa ho však pokúsime zostaviť a spustiť na inom operačnom systéme alebo architektúre, nebude súčasťou zostavy:

Príklad 6: Pridajte značku Golang Build pre konkrétnu funkciu

Okrem toho je možné značky zostavenia použiť aj na špecifické funkcie v súbore. Kvôli obmedzeniam zostavenia teraz môžeme podmienečne zahrnúť alebo odstrániť konkrétne funkcie.

balík Hlavná

importovať 'fmt'

func Hlavná () {

fmt . Println ( 'Ahoj, užívaj si!' )

printWindowsMessage ()

}

// +vytvoriť okná

func printWindowsMessage () {

fmt . Println ( 'Pozdrav z operačného systému Windows' )

}

Teraz prejdeme k metóde main(), ktorá používa metódu Println() poskytovanú balíkom „fmt“ na vytlačenie správy na začiatku. Potom nasadíme funkciu printWindowsMessage() pod funkciu main() a určíme obmedzenie zostavenia „// +build windows“. To znamená, že funkcia je zahrnutá v zostave iba vtedy, keď je cieľovou platformou Windows.

Nakoniec nastavíme funkciu printWindowsMessage() na tlač zadanej správy „Hello From Windows Operating system“ pomocou funkcie Println().

Takto sa získa výstup, ktorý zobrazuje všeobecnú správu aj správu špecifickú pre platformu. Upozorňujeme, že ak ho zostavíme a spustíme na inom operačnom systéme, funkcia printWindowsMessage() nebude súčasťou zostavy a zobrazí sa iba všeobecná správa:

Záver

Pridanie značiek zostavy v Go poskytuje možnosť prispôsobiť zahrnutie kódu počas procesu zostavovania. Využitím značiek zostavenia môžeme vytvoriť zostavy špecifické pre platformu, optimalizovať kód pre rôzne architektúry a dokonca podmienečne zahrnúť špecifické funkcie alebo vlastnosti.