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 !windowspakete 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 Linuxpakete 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,386pakete 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 pangunahingangkat '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.