Paano Magdagdag ng Golang Build Tags

Paano Magdagdag Ng Golang Build Tags



Ang mga Build tag sa Go ay isang mahusay na feature na nagbibigay-daan sa aming kondisyon na magsama o magbukod ng isang partikular na code sa panahon ng proseso ng pagbuo batay sa mga partikular na hadlang sa build. Ang kakayahang umangkop na ito ay nagbibigay-daan sa amin na lumikha ng mga build na partikular sa platform para sa iba't ibang operating system, arkitektura, o iba pang mga kinakailangan na partikular sa kapaligiran. Ang mga Build tag ay mga espesyal na komento na idinaragdag sa simula ng isang source file, sa itaas lamang ng deklarasyon ng package. Nagbibigay ang mga tag na ito ng mga tagubilin sa Go build system kung paano pangasiwaan ang code sa file na iyon sa panahon ng proseso ng compilation.

Halimbawa 1: Idagdag ang Golang Build Tag para sa Linux System

Upang i-target ang Linux operating system, maaari naming idagdag ang “// +build linux” build tag.

//bumuo ng linux

// +bumuo ng linux

pakete pangunahing

angkat 'fmt'

func pangunahing () {

fmt . Println ( 'Halimbawa ng Hello Linux System' )

}

Dito, itinakda namin ang build constraints sa Go na tumutukoy na ang code ay dapat lang gawin kung ang target na system ay Linux. Pagkatapos nito, tinukoy namin ang package at ini-import ang kinakailangang pahayag para sa code. Pagkatapos, ipinasok namin ang pangunahing() na paraan kung saan ipi-print namin ang mensahe gamit ang tawag na 'Println' mula sa package na 'fmt'.







Kaya, ang mensahe ay matagumpay na ipinapakita sa console para sa Linux operating system:





Halimbawa 2: Idagdag ang Golang Build Tag para sa Windows System

Kapag gusto lang naming i-execute ang code sa Windows platform, ginagamit namin ang build tag na '// +build windows' sa simula ng file. Mula doon, maaari naming siguraduhin na ang code ay isinama lamang sa build kapag ang Windows ang nilalayong platform.





// +bumuo ng mga bintana

pakete pangunahing

angkat 'fmt'

func pangunahing () {

fmt . Println ( 'Kumusta, halimbawa ng Windows!' )

}

Dito, ginagamit namin ang '// +build windows' build constraint upang matiyak na ang code ay pinagsama-sama at isinasagawa lamang kapag gumagawa para sa Windows platform. Pagkatapos nito, isasama namin ang kinakailangang package para sa code kasama ang package at import modifier. Pagkatapos ay darating ang main() function na gumagamit ng println() function upang i-print ang statement kapag binubuo ang mga tag ng window sa Golang.

Kapag binuo at pinatakbo namin ang program na ito sa isang Windows system, ipinapakita nito ang 'Hello, halimbawa ng Windows!' mensahe sa console. Tandaan na ang program ay hindi itatayo o isasagawa sa iba pang mga operating system dahil sa pagpilit ng build.



Halimbawa 3: Idagdag ang Golang Build Tag para sa Non-Windows System

Sa kabaligtaran, kung gusto naming ibukod ang code kapag gumagawa para sa Windows, maaari mong gamitin ang '!' tandang padamdam na may tag ng build.

// +bumuo ng !windows

pakete pangunahing

angkat 'fmt'

func pangunahing () {

fmt . Println ( 'Hello, Maliban sa Windows!' )

}

Dito, bumuo kami ng constraint na direktiba na nagpapahiwatig na ang code ay dapat itayo at isagawa sa mga platform maliban sa Windows. Ang tandang padamdam (!) bago ang Windows ay nagpapahiwatig na ang code na ito ay dapat isama para sa lahat ng mga platform maliban sa Windows. Pagkatapos, nagpapatuloy kami sa parehong programa tulad ng sa nakaraang function kung saan una naming idinagdag ang mga pakete at tinawag ang main() function upang maisagawa ang mensahe na ipinasa sa loob ng println() function.

Kaya, ang output ay bumubuo ng mensahe sa mga operating system console. Tandaan na hindi ito gagana sa operating system ng Windows dahil sa pagpilit ng build:

Halimbawa 4: Idagdag ang Golang Build Tag na may OR Logic

Upang isama ang code kapag tina-target ang Windows O Linux, maaari naming gamitin ang build tag na '// +build windows Linux'.

// +bumuo ng mga bintana ng Linux

pakete pangunahing

angkat 'fmt'

func pangunahing () {

fmt . Println ( 'Hey, Windows o Linux Users' )

}

Dito, inilalapat namin ang build constraint na may lohikal na OR na naglalayong itayo para sa parehong Windows at Linux operating system. Ang linyang “// +build windows Linux” ay tumutukoy na ang file na ito ay dapat isama sa build kapag ang target na platform ay alinman sa Windows o Linux. Susunod, ini-import namin ang package na 'fmt' mula sa Go standard library na nagbibigay ng pangunahing input at output functionality. Sa pangunahing function, ipi-print namin ang string statement na 'Hey, Windows o Linux Users' gamit ang Println() function mula sa 'fmt' package.

Samakatuwid, ang output ay nakuha sa mga sumusunod. Ang parehong mensahe ay nabuo kung ginagamit namin ang Windows o Linux operating system:

Halimbawa 5: Idagdag ang Golang Build Tag kasama ang AND Logic

Maaari naming tukuyin ang maramihang mga build tag upang lumikha ng mas kumplikadong mga kundisyon. Ang command na '// +build windows,linux' ay maaaring gamitin upang bumuo ng code para sa parehong Linux at Windows.

// +build windows,386

pakete pangunahing

angkat 'fmt'

func pangunahing () {

fmt . Println ( 'Ito ay 32-bit na Windows' )

}

Dito, ang build constraint na tinukoy ay '// +build windows,386' na tumutukoy na ang Go file ay dapat isama sa build kapag ang target na platform ay isang 32-bit na Windows. Tandaan na gumagamit kami ng kuwit na ',' sa pagitan ng Windows at 386 na nagsisilbing lohikal na AT operator. Nangangahulugan ito na ang parehong mga kundisyon ay dapat masiyahan para sa code na maisama sa build.

Pagkatapos, katulad ng nakaraang halimbawa, ini-import namin ang package na 'fmt' mula sa Go standard na library upang magamit ang Println function() para sa output. Mayroon kaming main() function ng program kung saan ipinapasa ang statement bilang argumento sa println() function.

Kapag binuo at pinatakbo namin ang program na ito sa isang 32-bit na Windows system, ipinapakita nito ang tinukoy na mensahe bilang output. Gayunpaman, kung susubukan naming buuin at patakbuhin ito sa ibang operating system o arkitektura, hindi ito isasama sa build:

Halimbawa 6: Idagdag ang Golang Build Tag para sa isang Partikular na Function

Bukod dito, ang mga build tag ay maaari ding ilapat sa mga partikular na function sa loob ng isang file. Dahil sa mga hadlang sa pagbuo, maaari na nating isama o alisin ang mga partikular na function.

pakete pangunahing

angkat 'fmt'

func pangunahing () {

fmt . Println ( 'Hey there, Enjoy!' )

printWindowsMessage ()

}

// +bumuo ng mga bintana

func printWindowsMessage () {

fmt . Println ( 'Kumusta Mula sa Windows Operating system' )

}

Dito, lumipat tayo ngayon sa pangunahing() na pamamaraan na gumagamit ng Println() na pamamaraan na ibinigay ng “fmt” na pakete upang i-print ang mensahe sa simula. Pagkatapos, i-deploy namin ang printWindowsMessage() function sa ibaba ng main() function at tukuyin ang '// +build windows' build constraint. Ipinapahiwatig nito na ang function ay kasama lamang sa build kapag ang target na platform ay Windows.

Sa wakas, itinakda namin ang printWindowsMessage() function upang i-print ang tinukoy na 'Hello From Windows Operating system' na mensahe gamit ang Println() function.

Kaya, ang output ay nakuha na nagpapakita ng parehong pangkalahatang mensahe at ang platform-specific na mensahe. Tandaan na kung bubuo at patakbuhin namin ito sa ibang operating system, ang printWindowsMessage() function ay hindi isasama sa build, at ang pangkalahatang mensahe lang ang ipapakita:

Konklusyon

Ang pagdaragdag ng mga build tag sa Go ay nagbibigay ng kakayahang i-customize ang pagsasama ng code sa panahon ng proseso ng pagbuo. Sa pamamagitan ng paggamit ng mga build tag, maaari tayong gumawa ng mga build na partikular sa platform, i-optimize ang code para sa iba't ibang mga arkitektura, at kahit na may kondisyong isama ang mga partikular na function o feature.