Przykład 1: Dodaj tag kompilacji Golang dla systemu Linux
Aby kierować reklamy na system operacyjny Linux, możemy dodać znacznik kompilacji „// +build linux”.
//idź zbudować Linuksa// +zbuduj Linuksa
pakiet główny
import „fm”
funk główny () {
fmt . Drukuj ( „Witaj, przykład systemu Linux” )
}
Tutaj ustawiamy ograniczenia kompilacji w Go, które określają, że kod powinien być budowany tylko wtedy, gdy systemem docelowym jest Linux. Następnie definiujemy pakiet i importujemy wymaganą instrukcję dla kodu. Następnie wchodzimy w metodę main(), w której drukujemy wiadomość za pomocą wywołania „Println” z pakietu „fmt”.
W ten sposób komunikat zostanie pomyślnie wyświetlony na konsoli dla systemu operacyjnego Linux:
Przykład 2: Dodaj znacznik kompilacji Golang dla systemu Windows
Kiedy chcemy, aby kod został wykonany na platformie Windows, używamy znacznika kompilacji „// +build Windows” na początku pliku. Na tej podstawie możemy mieć pewność, że kod zostanie włączony do kompilacji tylko wtedy, gdy zamierzoną platformą jest Windows.
// +zbuduj okna
pakiet główny
import „fm”
funk główny () {
fmt . Drukuj ( „Witam, przykład Windows!” )
}
W tym przypadku używamy ograniczenia kompilacji „// +build Windows”, aby mieć pewność, że kod zostanie skompilowany i wykonany tylko podczas kompilacji na platformę Windows. Następnie dołączamy niezbędny pakiet do kodu z modyfikatorem package i import. Następnie pojawia się funkcja main(), która wykorzystuje funkcję println() do wydrukowania instrukcji podczas budowania znaczników okna w Golang.
Kiedy budujemy i uruchamiamy ten program w systemie Windows, wyświetla się komunikat „Witaj, przykład Windows!” wiadomość do konsoli. Należy pamiętać, że program nie zostanie skompilowany ani wykonany w innych systemach operacyjnych ze względu na ograniczenia kompilacji.
Przykład 3: Dodaj znacznik kompilacji Golang dla systemu innego niż Windows
I odwrotnie, jeśli chcemy wykluczyć kod podczas budowania dla systemu Windows, możesz użyć znaku „!” wykrzyknik ze znacznikiem kompilacji.
// +kompiluj !windowspakiet główny
import „fm”
funk główny () {
fmt . Drukuj ( „Witam, z wyjątkiem systemu Windows!” )
}
Tutaj budujemy dyrektywę ograniczeń, która wskazuje, że kod powinien zostać zbudowany i wykonany na platformach innych niż Windows. Wykrzyknik (!) przed systemem Windows oznacza, że ten kod powinien zostać dołączony do wszystkich platform z wyjątkiem systemu Windows. Następnie postępujemy z tym samym programem, co w poprzedniej funkcji, gdzie najpierw dodajemy pakiety i wywołujemy funkcję main(), aby wykonać komunikat przekazywany wewnątrz funkcji println().
W ten sposób dane wyjściowe generują komunikat na konsolach systemu operacyjnego. Należy pamiętać, że nie zostanie on uruchomiony w systemie operacyjnym Windows ze względu na ograniczenia kompilacji:
Przykład 4: Dodaj znacznik kompilacji Golang z logiką OR
Aby uwzględnić kod w przypadku kierowania na system Windows LUB Linux, możemy użyć tagu kompilacji „// +build Windows Linux”.
// +kompiluj system Windows Linuxpakiet główny
import „fm”
funk główny () {
fmt . Drukuj ( „Hej, użytkownicy systemu Windows lub Linux” )
}
Tutaj stosujemy ograniczenie kompilacji z logicznym OR, które ma zostać zbudowane zarówno dla systemów operacyjnych Windows, jak i Linux. Wiersz „// +build Windows Linux” określa, że ten plik powinien zostać uwzględniony w kompilacji, jeśli platformą docelową jest Windows lub Linux. Następnie importujemy pakiet „fmt” ze standardowej biblioteki Go, który zapewnia podstawową funkcjonalność wejścia i wyjścia. W funkcji main wypisujemy ciąg znaków „Hej, użytkownicy systemu Windows lub Linux” za pomocą funkcji Println() z pakietu „fmt”.
W związku z tym dane wyjściowe zostaną pobrane poniżej. Ten sam komunikat jest generowany niezależnie od tego, czy korzystamy z systemu operacyjnego Windows, czy Linux:
Przykład 5: Dodaj znacznik kompilacji Golang z logiką AND
Możemy określić wiele znaczników kompilacji, aby utworzyć bardziej złożone warunki. Komendy „// +build Windows,linux” można użyć do wygenerowania kodu zarówno dla systemu Linux, jak i Windows.
// +kompiluj okna,386pakiet główny
import „fm”
funk główny () {
fmt . Drukuj ( „To jest 32-bitowy system Windows” )
}
W tym przypadku zdefiniowane ograniczenie kompilacji to „// +build Windows,386”, które określa, że plik Go powinien zostać uwzględniony w kompilacji, gdy platformą docelową jest 32-bitowy system Windows. Zauważ, że używamy przecinka „,” pomiędzy Windows i 386, który działa jak operator logiczny AND. Oznacza to, że oba warunki muszą zostać spełnione, aby kod został uwzględniony w kompilacji.
Następnie, podobnie jak w poprzednim przykładzie, importujemy pakiet „fmt” ze standardowej biblioteki Go, aby użyć funkcji Println() jako wyniku. Mamy funkcję main() programu, w której instrukcja jest przekazywana jako argument do funkcji println().
Kiedy budujemy i uruchamiamy ten program w 32-bitowym systemie Windows, wyświetla on określony komunikat jako wynik. Jeśli jednak spróbujemy go zbudować i uruchomić w innym systemie operacyjnym lub architekturze, nie zostanie on uwzględniony w kompilacji:
Przykład 6: Dodaj znacznik kompilacji Golang dla określonej funkcji
Co więcej, znaczniki kompilacji można również zastosować do określonych funkcji w pliku. Ze względu na ograniczenia kompilacji możemy teraz warunkowo dołączać lub usuwać określone funkcje.
pakiet głównyimport „fm”
funk główny () {
fmt . Drukuj ( „Hej, ciesz się!” )
wydrukuj wiadomość Windows ()
}
// +zbuduj okna
funk wydrukuj wiadomość Windows () {
fmt . Drukuj ( „Witam z systemu operacyjnego Windows” )
}
Tutaj przejdziemy teraz do metody main(), która wykorzystuje metodę Println() dostarczoną przez pakiet „fmt” do wydrukowania wiadomości na początku. Następnie wdrażamy funkcję printWindowsMessage() poniżej funkcji main() i określamy ograniczenie kompilacji „// +build Windows”. Oznacza to, że funkcja jest uwzględniona w kompilacji tylko wtedy, gdy platformą docelową jest system Windows.
Na koniec ustawiamy funkcję printWindowsMessage() tak, aby drukowała określony komunikat „Witajcie w systemie operacyjnym Windows” za pomocą funkcji Println().
W ten sposób pobierane są dane wyjściowe, które wyświetlają zarówno komunikat ogólny, jak i komunikat specyficzny dla platformy. Zauważ, że jeśli zbudujemy i uruchomimy go na innym systemie operacyjnym, funkcja printWindowsMessage() nie zostanie uwzględniona w kompilacji, a wyświetli się jedynie ogólny komunikat:
Wniosek
Dodanie tagów kompilacji w Go zapewnia możliwość dostosowania dołączania kodu podczas procesu kompilacji. Wykorzystując tagi kompilacji, możemy tworzyć kompilacje specyficzne dla platformy, optymalizować kod dla różnych architektur, a nawet warunkowo włączać określone funkcje lub cechy.