Kuidas lisada Golangi ehituse silte

Kuidas Lisada Golangi Ehituse Silte



Järgusildid rakenduses Go on võimas funktsioon, mis võimaldab meil konkreetsete järgupiirangute alusel ehitusprotsessi ajal teatud koodi tingimuslikult kaasata või välistada. See paindlikkus võimaldab meil luua platvormipõhiseid järge erinevate operatsioonisüsteemide, arhitektuuride või muude keskkonnaspetsiifiliste nõuete jaoks. Järjesildid on spetsiaalsed kommentaarid, mis lisatakse lähtefaili algusesse, paketi deklaratsiooni kohale. Need sildid annavad Go build-süsteemile juhiseid selle kohta, kuidas kompileerimisprotsessi ajal failis olevat koodi käsitleda.

Näide 1: Lisage Linuxi süsteemi jaoks Golangi ehitussilt

Linuxi operatsioonisüsteemi sihtimiseks saame lisada järgusildi „// +build linux”.

//mine loo linux

// +ehitage linux

pakett peamine

importida 'fmt'

func peamine () {

fmt . Println ( 'Tere Linuxi süsteemi näide' )

}

Siin määrame Go-s ehituspiirangud, mis täpsustavad, et kood tuleks ehitada ainult siis, kui sihtsüsteem on Linux. Pärast seda määratleme paketi ja impordime koodi jaoks vajaliku väljavõtte. Seejärel sisestame meetodi main(), kus prindime sõnumi, kasutades 'fmt' paketist pärit kõnet 'Println'.







Seega kuvatakse teade konsoolil edukalt Linuxi operatsioonisüsteemi jaoks:





Näide 2: lisage Windowsi süsteemi jaoks Golangi ehitussilt

Kui tahame, et kood lihtsalt käivituks Windowsi platvormil, kasutame faili alguses ehitusmärgendit „// +build windows”. Selle põhjal saame veenduda, et kood lisatakse konstruktsiooni ainult siis, kui Windows on kavandatud platvorm.





// +ehitage aknad

pakett peamine

importida 'fmt'

func peamine () {

fmt . Println ( 'Tere, Windowsi näide!' )

}

Siin kasutame koostamispiirangut „// +build windows”, et tagada koodi kompileerimine ja käivitamine ainult Windowsi platvormile ehitamisel. Pärast seda lisame koodi jaoks vajaliku paketi koos paketi ja impordi modifikaatoriga. Seejärel tuleb funktsioon main(), mis kasutab Golangis akna siltide loomisel avalduse printimiseks funktsiooni println().

Kui loome ja käivitame selle programmi Windowsi süsteemis, kuvatakse see 'Tere, Windowsi näide!' sõnum konsoolile. Pange tähele, et programmi ei ehitata ega käivitata teistes operatsioonisüsteemides ehituspiirangu tõttu.



Näide 3: lisage mitte-Windowsi süsteemi jaoks Golangi ehitussilt

Vastupidiselt, kui tahame Windowsile loomisel koodi välistada, võite kasutada nuppu '!' hüüumärk koos ehitussildiga.

// +ehitage !aknad

pakett peamine

importida 'fmt'

func peamine () {

fmt . Println ( 'Tere, välja arvatud Windows!' )

}

Siin koostame piirangu direktiivi, mis näitab, et kood tuleks ehitada ja käivitada muudel platvormidel peale Windowsi. Hüüumärk (!) Windowsi ees tähendab, et see kood tuleks lisada kõikidele platvormidele peale Windowsi. Seejärel jätkame sama programmiga nagu eelmises funktsioonis, kus esmalt lisame paketid ja kutsume funktsiooni main() funktsiooni println() sees edastatava sõnumi täitmiseks.

Seega genereerib väljund sõnumi operatsioonisüsteemi konsoolidel. Pidage meeles, et see ei käivitu Windowsi operatsioonisüsteemis ehituspiirangu tõttu:

Näide 4: lisage VÕI-loogikaga Golangi ehitussilt

Koodi kaasamiseks Windowsi VÕI Linuxi sihtimisel saame kasutada järgimärgendit „// +build windows Linux”.

// +ehitage Windows Linux

pakett peamine

importida 'fmt'

func peamine () {

fmt . Println ( 'Hei, Windowsi või Linuxi kasutajad' )

}

Siin rakendame koostamise piirangut loogilise VÕI-ga, mis kavatsetakse luua nii Windowsi kui ka Linuxi operatsioonisüsteemide jaoks. Rida „// +build windows Linux” täpsustab, et see fail tuleb järgmisse kaasata, kui sihtplatvormiks on Windows või Linux. Järgmisena impordime Go standardteegist paketi 'fmt', mis pakub põhilisi sisend- ja väljundfunktsioone. Põhifunktsioonis prindime stringlause 'Hei, Windowsi või Linuxi kasutajad', kasutades funktsiooni Println() paketist 'fmt'.

Seetõttu otsitakse väljund järgmiselt. Sama teade genereeritakse olenemata sellest, kas kasutame Windowsi või Linuxi operatsioonisüsteemi:

Näide 5: lisage AND-loogikaga Golangi ehitussilt

Keerulisemate tingimuste loomiseks saame määrata mitu ehitusmärgendit. Käsku “// +build windows,linux” saab kasutada koodi genereerimiseks nii Linuxi kui ka Windowsi jaoks.

// +ehitage aknad,386

pakett peamine

importida 'fmt'

func peamine () {

fmt . Println ( 'See on 32-bitine Windows' )

}

Siin on defineeritud järgupiiranguks '// +build windows,386', mis määrab, et Go-fail tuleks järgmisse kaasata, kui sihtplatvormiks on 32-bitine Windows. Pange tähele, et kasutame Windowsi ja 386 vahel koma ',' mis toimib loogilise JA-operaatorina. See tähendab, et koodi lisamiseks ehitusse peavad olema täidetud mõlemad tingimused.

Seejärel impordime sarnaselt eelmisele näitele paketi “fmt” Go standardteegist, et kasutada väljundiks funktsiooni Println (). Meil on programmi funktsioon main(), kus lause edastatakse argumendina funktsioonile println().

Kui koostame ja käivitame selle programmi 32-bitises Windowsi süsteemis, kuvab see väljundina määratud teate. Kui aga proovime seda ehitada ja käitada mõnel muul operatsioonisüsteemil või arhitektuuril, ei kaasata seda järgmisse:

Näide 6: lisage konkreetse funktsiooni jaoks Golangi ehitussilt

Lisaks saab konstruktsiooni silte rakendada ka faili teatud funktsioonidele. Ehituspiirangute tõttu saame nüüd teatud funktsioone tingimuslikult kaasata või eemaldada.

pakett peamine

importida 'fmt'

func peamine () {

fmt . Println ( 'Tere, nautige!' )

print WindowsMessage ()

}

// +ehitage aknad

func print WindowsMessage () {

fmt . Println ( 'Tere Windowsi operatsioonisüsteemist' )

}

Siin liigume nüüd edasi meetodi main() juurde, mis kasutab sõnumi alguses printimiseks paketi 'fmt' pakutavat Println() meetodit. Seejärel juurutame funktsiooni printWindowsMessage() funktsiooni main() all ja määrame ehituspiirangu „// +build windows”. See näitab, et funktsioon kaasatakse järgmisse ainult siis, kui sihtplatvorm on Windows.

Lõpuks seadsime funktsiooni printWindowsMessage() printima määratud „Tere Windowsi operatsioonisüsteemist” sõnumi, kasutades funktsiooni Println().

Seega hangitakse väljund, mis kuvab nii üldsõnumi kui ka platvormipõhist sõnumit. Pange tähele, et kui koostame ja käitame selle mõnes teises operatsioonisüsteemis, ei kaasata funktsioon printWindowsMessage() ehitusse ja kuvatakse ainult üldine teade:

Järeldus

Järgumärgendite lisamine Go-sse annab võimaluse koodi kaasamist koostamisprotsessi ajal kohandada. Järgusilte võimendades saame luua platvormipõhiseid järge, optimeerida koodi erinevate arhitektuuride jaoks ja isegi tingimuslikult lisada konkreetseid funktsioone või funktsioone.