Kako dodati Golang Build oznake

Kako Dodati Golang Build Oznake



Oznake za izgradnju u Gou moćna su značajka koja nam omogućuje uvjetno uključivanje ili isključivanje određenog koda tijekom procesa izrade na temelju specifičnih ograničenja izrade. Ova nam fleksibilnost omogućuje stvaranje nadogradnji specifičnih za platformu za različite operativne sustave, arhitekture ili druge zahtjeve specifične za okruženje. Oznake izgradnje su posebni komentari koji se dodaju na početku izvorne datoteke, odmah iznad deklaracije paketa. Ove oznake pružaju upute Go build sustavu o tome kako rukovati kodom u toj datoteci tijekom procesa kompilacije.

Primjer 1: Dodajte Golang Build Tag za Linux sustav

Za ciljanje operativnog sustava Linux možemo dodati oznaku za izgradnju “// +build linux”.

//kreni na izgradnju linuxa

// +build linux

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Primjer sustava Hello Linux' )

}

Ovdje smo postavili ograničenja izgradnje u Go-u koja određuju da se kod treba graditi samo ako je ciljni sustav Linux. Nakon toga definiramo paket i uvozimo potrebnu izjavu za kod. Zatim ulazimo u main() metodu gdje ispisujemo poruku pomoću poziva “Println” iz paketa “fmt”.







Dakle, poruka se uspješno prikazuje na konzoli za operativni sustav Linux:





Primjer 2: Dodajte Golang Build Tag za Windows sustav

Kada samo želimo da se kôd izvrši na Windows platformi, koristimo oznaku za izgradnju “// +build windows” na početku datoteke. Iz toga možemo osigurati da se kôd ugradi u međugradnju samo ako je Windows namijenjena platforma.





// +gradite prozore

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Pozdrav, Windows primjer!' )

}

Ovdje koristimo ograničenje izgradnje “// +build windows” kako bismo osigurali da se kod kompilira i izvršava samo kada se gradi za Windows platformu. Nakon toga uključujemo potreban paket za kod s modifikatorom paketa i uvoza. Zatim dolazi funkcija main() koja koristi funkciju println() za ispis iskaza prilikom izrade oznaka prozora u Golangu.

Kada izradimo i pokrenemo ovaj program na Windows sustavu, prikazuje se 'Hello, Windows example!' poruku konzoli. Imajte na umu da se program neće graditi niti izvršavati na drugim operativnim sustavima zbog ograničenja izgradnje.



Primjer 3: Dodajte Golang Build Tag za sustav koji nije Windows

Suprotno tome, ako želimo isključiti kod prilikom izgradnje za Windows, možete koristiti '!' uskličnik s oznakom build.

// +gradite !prozore

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Pozdrav, osim Windows!' )

}

Ovdje gradimo direktivu ograničenja koja ukazuje da se kod treba izgraditi i izvršiti na platformama koje nisu Windows. Uskličnik (!) ispred Windowsa označava da ovaj kod treba biti uključen za sve platforme osim Windowsa. Zatim nastavljamo s istim programom kao u prethodnoj funkciji gdje prvo dodajemo pakete i pozivamo funkciju main() da izvršimo poruku koja je proslijeđena unutar funkcije println().

Dakle, izlaz generira poruku na konzolama operacijskog sustava. Imajte na umu da se neće izvršiti na operacijskom sustavu Windows zbog ograničenja međugradnje:

Primjer 4: Dodajte Golang Build Tag s logikom OR

Da bismo uključili kod kada ciljamo Windows ILI Linux, možemo koristiti oznaku za izgradnju “// +build windows Linux”.

// +sastaviti windows Linux

paket glavni

uvoz 'fmt'

funk glavni () {

fmt . Println ( 'Hej, korisnici Windowsa ili Linuxa' )

}

Ovdje primjenjujemo ograničenje izgradnje s logičkim ILI koje se namjerava izgraditi i za Windows i za Linux operativne sustave. Redak “// +build windows Linux” navodi da ova datoteka treba biti uključena u međugradnju kada je ciljna platforma Windows ili Linux. Zatim uvozimo paket “fmt” iz standardne biblioteke Go koja pruža osnovnu ulaznu i izlaznu funkcionalnost. U glavnoj funkciji ispisujemo naredbu niza 'Hej, Windows ili Linux korisnici' pomoću funkcije Println() iz paketa 'fmt'.

Stoga se izlaz dobiva u nastavku. Ista se poruka generira bilo da koristimo Windows ili Linux operativni sustav:

Primjer 5: Dodajte Golang Build Tag s logikom AND

Možemo navesti više oznaka za izgradnju kako bismo stvorili složenije uvjete. Naredba “// +build windows,linux” može se koristiti za generiranje koda i za Linux i za Windows.

// +sastaviti windows,386

paket glavni

uvoz 'fmt'

funk glavni () {

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

}

Ovdje je ograničenje izgradnje koje je definirano '// +build windows,386' što navodi da Go datoteka treba biti uključena u izgradnju kada je ciljna platforma 32-bitni Windows. Imajte na umu da koristimo zarez “,” između Windowsa i 386 koji djeluje kao logički AND operator. To znači da oba uvjeta moraju biti zadovoljena da bi kod bio uključen u izgradnju.

Zatim, slično prethodnom primjeru, uvozimo paket 'fmt' iz standardne biblioteke Go kako bismo koristili funkciju Println() za izlaz. Imamo main() funkciju programa gdje se iskaz prosljeđuje kao argument funkciji println().

Kada izradimo i pokrenemo ovaj program na 32-bitnom Windows sustavu, on prikazuje navedenu poruku kao izlaz. Međutim, ako ga pokušamo izgraditi i pokrenuti na drugom operativnom sustavu ili arhitekturi, neće biti uključen u međugradnju:

Primjer 6: Dodajte Golang Build Tag za određenu funkciju

Štoviše, oznake za izgradnju također se mogu primijeniti na određene funkcije unutar datoteke. Zbog ograničenja izrade, sada možemo uvjetno uključiti ili ukloniti određene funkcije.

paket glavni

uvoz 'fmt'

funk glavni () {

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

printWindowsMessage ()

}

// +gradite prozore

funk printWindowsMessage () {

fmt . Println ( 'Pozdrav iz operativnog sustava Windows' )

}

Ovdje sada prelazimo na metodu main() koja koristi metodu Println() koju pruža paket “fmt” za ispis poruke na početku. Zatim implementiramo funkciju printWindowsMessage() ispod funkcije main() i specificiramo ograničenje izgradnje “// +build windows”. To znači da je funkcija uključena u međugradnju samo kada je ciljna platforma Windows.

Konačno, postavili smo funkciju printWindowsMessage() za ispis navedene poruke 'Pozdrav iz operativnog sustava Windows' pomoću funkcije Println().

Stoga se dohvaća izlaz koji prikazuje i opću poruku i poruku specifičnu za platformu. Imajte na umu da ako ga izgradimo i pokrenemo na drugom operativnom sustavu, funkcija printWindowsMessage() neće biti uključena u izgradnju i prikazat će se samo opća poruka:

Zaključak

Dodavanje oznaka za izgradnju u Go pruža mogućnost prilagodbe uključivanja koda tijekom procesa izrade. Iskorištavanjem oznaka za izgradnju, možemo kreirati međugradnje specifične za platformu, optimizirati kod za različite arhitekture, pa čak i uvjetno uključiti specifične funkcije ili značajke.