Powrót do bloga

Budowanie i instalowanie programów Go

Budowanie i instalowanie programów Go

Go jest statycznie typowanym językiem programowania. Zaprojektowany pierwotnie przez Google, Go wykazuje podobieństwa do C pod względem składni. Jednak pod względem funkcjonalności Go oferuje dodatkowe funkcje, takie jak bezpieczeństwo pamięci, odśmiecanie pamięci (garbage collection), typowanie strukturalne itp. W ciągu ostatnich kilku lat Go zyskał niesamowitą popularność.

Ten przewodnik omówi kroki budowania i instalowania programów w Go na przykładzie demonstracyjnego programu w Go.

Budowanie i instalacja Go

Zanim przejdziemy dalej, przyjrzyjmy się krótko, co oznacza budowanie i instalowanie w kontekście programowania w Go.

W programowaniu w Go budowanie odnosi się do procesu tłumaczenia kodu źródłowego na binarny plik wykonywalny. Plik wykonywalny będzie zawierał niezbędny kod pomocniczy, dzięki czemu będzie mógł działać niezależnie na platformie docelowej. W przeciwieństwie do programów w Ruby/Python, pliki binarne Go zazwyczaj nie wymagają żadnych zależności systemowych do działania na nowym systemie.

Umieszczenie pliku binarnego Go w ścieżce plików wykonywalnych systemu jest określane jako instalowanie programu. Jak wspomniano wcześniej, ten przewodnik zademonstruje uruchamianie, budowanie i instalowanie prostego programu „Hello world” w Go.

Wymagania wstępne

Przed rozpoczęciem omówmy wymagania wstępne, które należy spełnić, aby móc śledzić ten samouczek:

Najpierw szybko omówimy instalację i konfigurację środowiska programistycznego Go. Bardziej szczegółowy, krok po kroku przewodnik dotyczący instalacji Go znajdziesz tutaj.

Instalacja Go

Go jest dostępny na wszystkich głównych platformach (Windows, Linux i macOS). Jest oficjalnie dostępny bezpośrednio z Golang. Ze względu na nazwę strony internetowej Go jest często nazywane Golang. W tym miejscu zawsze będziemy odnosić się do języka programowania Go jako Go, a do strony internetowej Golang jako Golang.

Golang oferuje szczegółową dokumentację dotyczącą instalacji Go dla wszystkich obsługiwanych platform. Jednak oficjalna metoda opisuje instalację ręczną. Za każdym razem, gdy wydawana jest nowa wersja, należy ręcznie zaktualizować instalację do najnowszej wersji. Zamiast tego możemy bezpośrednio zainstalować Go za pomocą APT (z domyślnych repozytoriów Ubuntu) lub snap (z Snapcraft).

●     Instalacja Go za pomocą APT

Go jest bezpośrednio dostępny w oficjalnych repozytoriach Ubuntu. Nie zawsze jest to jednak najnowsza wersja Go. W repozytorium Ubuntu dostępne są również dwa warianty Go: golang-go oraz gccgo-go. Podczas gdy golang-go jest oficjalną wersją od Golang, gccgo-go to frontend Go dla GCC (jako część kompilatora GNU). Ogólnie rzecz biorąc, golang-go jest preferowanym wyborem.

Aby zainstalować golang-go, uruchom następujące polecenie APT:

Go Programs apt update and go install

Sprawdź wersję Go:

go version
●     Instalacja Go za pomocą snap

Pakiety snap to uniwersalne pakiety systemu Linux, które można zainstalować na dowolnej obsługiwanej dystrybucji. Snapcraft zawiera listę wszystkich obsługiwanych dystrybucji wraz z przewodnikami instalacji. W systemie Ubuntu obsługa pakietów snap jest domyślnie włączona. Go jest również dostępny jako pakiet snap. Należy pamiętać, że nie jest on oficjalnie utrzymywany przez Golang. Pakiet snap jest zarządzany przez zewnętrznego dostawcę.

Aby zainstalować Go jako snap, uruchom następujące polecenie:

snap install go

Następnie sprawdź wersję Go:

snap go version

Konfiguracja projektu Go

Nasz system posiada wszystkie niezbędne narzędzia do rozpoczęcia tworzenia aplikacji w Go. Czas na utworzenie naszego projektu demonstracyjnego. Najpierw utwórz dedykowany katalog dla naszego projektu:

mkdir demo_project

Następnie zmień bieżący katalog na nowo utworzony katalog:

cd demo_project

W tym miejscu utwórz nowy plik tekstowy o nazwie main.go:

Poniższy kod przedstawia prosty program, który po uruchomieniu wypisze „Hello world”. Skopiuj kod:

Go Programs nano main_go

Zapisz plik i zamknij edytor. Upewnij się, że kod działa poprawnie:

run main_go

Kompilator Go skompilował plik źródłowy do pliku binarnego i go uruchomił. Weryfikuje to również, czy program działa pomyślnie.

Konfiguracja przestrzeni roboczej Go

Aby poprawnie zainstalować programy w Go, musimy skonfigurować przestrzeń roboczą Go oraz GOPATH.

Najpierw utwórz strukturę katalogów:

mkdir bin src

Następnie musimy zadeklarować wartość GOPATH i dodać ją do PATH. Otwórz plik bashrc :

Go Programs nano bashrc

Dodaj następujące linie na końcu pliku:

Go Programs nano bashrc modified

Przeładuj bashrc:

Zweryfikuj, czy zmiana zakończyła się sukcesem:

path variable

Budowanie plików binarnych Go

W tej sekcji przedstawimy kompilację kodu Go do dystrybucyjnego, samodzielnego pliku binarnego. Plik binarny będzie zawierał nie tylko kod Go, ale także dodatkowy kod systemowy niezbędny do jego uruchomienia. Aby skompilować nasz kod, uruchom następujące polecenie:

build main_go

Jeśli istnieje wiele plików z kodem Go, użyj następującego polecenia:

Jeśli nie określono żadnego pliku, Go wyszuka pliki Go w bieżącym katalogu i skompiluje je wszystkie. Każdy plik binarny nosi nazwę swojego źródłowego pliku Go. W tym przykładzie Go zbudował program main. Uruchom program:

run main binary

Ten program jest gotowy do dystrybucji na inne komputery.

●     Zmiana nazwy pliku binarnego

Podczas budowania Go automatycznie wybierze nazwę dla pliku wykonywalnego. Istnieją dwie możliwe opcje wyboru nazwy.

  • Jeśli moduły Go są używane, plik wykonywalny użyje ostatniej części nazwy modułu.
  • Jeśli nie jest używany żaden moduł Go, Go użyje nazwy bieżącego katalogu lub nazwy pliku źródłowego.

Praca z bardziej złożonymi programami wymaga innej konwencji nazewnictwa. W takich scenariuszach domyślne metody nazewnictwa nie są zbyt przydatne. W takiej sytuacji najlepszym sposobem jest dostosowanie danych wyjściowych za pomocą flagi -o. Przeprowadźmy szybką demonstrację. Zbuduj program Go z flagą -o aby wskazać inną nazwę pliku:

build binary with different name

Flaga -o nakazuje Go dopasowanie danych wyjściowych do podanego argumentu. W tym przypadku plik wykonywalny będzie znajdować się w katalogu bin i otrzyma nazwę hello.

Następnie przetestuj nowy plik wykonywalny:

bin hello_go

Instalowanie programów Go

Do ty pory pokazaliśmy, jak budować dystrybucyjne pliki binarne Go z plików źródłowych. Możemy je dystrybuować na inne systemy, wdrażać i przeprowadzać testy. Nie można ich jednak uruchamiać poza ich katalogami źródłowymi. Jeśli planujesz aktywnie korzystać z programu, to ograniczenie może być bardzo uciążliwe. Aby ułatwić sobie zadanie, możemy zainstalować programy Go i uzyskiwać do nich dostęp z dowolnego miejsca w systemie.

Aby zainstalować program, uruchom następujące polecenie Go w katalogu źródłowym:

go install

To polecenie zachowuje się tak samo jak go build. Jednak zamiast pozostawiać plik wykonywalny w katalogu źródłowym, zostaje on umieszczony w następującym katalogu:

Zmienne GOPATH oraz GOBIN wskazują Go, gdzie szukać przestrzeni roboczych Go. GOPATH domyślnie wskazuje na lokalizację $HOME/go. Ręcznie ustawiliśmy GOBIN na $GOPATH/bin. Aby sprawdzić lokalizację GOPATH and GOBIN użyj następującego polecenia:

go env path

Sprawdź zawartość $GOPATH/bin. Nasz program powinien się tam znajdować:

ls go path

Czas sprawdzić, czy instalacja zakończyła się sukcesem. Zmień bieżący katalog na inną lokalizację i spróbuj uruchomić program Go:

Go Programs check installation by running binary

Na koniec powinieneś być w stanie wziąć swoje programy i zainstalować je w swoim systemie. Możesz z nich korzystać gdziekolwiek i kiedykolwiek ich potrzebujesz.

Podsumowanie

W tym samouczku pomyślnie zademonstrowaliśmy, jak używać zestawów narzędzi Go do budowania wykonywalnych plików binarnych z kodów źródłowych. Te pliki binarne mogą być używane na innych systemach nawet bez żadnej konfiguracji Go. Na koniec zademonstrowaliśmy, jak zainstalować program Go, aby był dostępny z dowolnego miejsca w systemie.

Dla programistów CloudSigma oferuje wsparcie dla API Go do zarządzania serwerami chmurowymi. Umożliwia edycję zasobów oraz skalowanie infrastruktury.

Miłego korzystania z komputera!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.