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:
- Odpowiednio skonfigurowany Ubuntu 20.04. Sprawdź jak zainstalować i skonfigurować serwer Ubuntu.
- Użytkownik niebędący rootem z uprawnieniami sudo. Uprawnienia roota są wymagane do wprowadzania zmian na poziomie systemowym. Z tego samouczka dowiesz się, jak nadać uprawnienia sudo użytkownikowi niebędącemu rootem.
- Odpowiednio skonfigurowane środowisko programistyczne Go.
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:
|
1 |
sudo apt update && sudo apt install golang-go |

Sprawdź wersję Go:
|
1 |
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:
|
1 |
sudo snap install go --classic |

Następnie sprawdź wersję Go:
|
1 |
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:
|
1 |
mkdir -v demo_project |

Następnie zmień bieżący katalog na nowo utworzony katalog:
|
1 |
cd demo_project/ |

W tym miejscu utwórz nowy plik tekstowy o nazwie main.go:
|
1 |
nano main.go |
Poniższy kod przedstawia prosty program, który po uruchomieniu wypisze „Hello world”. Skopiuj kod:
|
1 2 3 4 5 6 7 |
package main import "fmt" func main() { fmt.Println("hello world!") } |

Zapisz plik i zamknij edytor. Upewnij się, że kod działa poprawnie:
|
1 |
go 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:
|
1 |
mkdir -pv $HOME/go/{bin,src} |

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

Dodaj następujące linie na końcu pliku:
|
1 2 3 |
export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin |

Przeładuj bashrc:
|
1 |
source ~/.bashrc |
Zweryfikuj, czy zmiana zakończyła się sukcesem:
|
1 |
echo $PATH |
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:
|
1 |
go build main.go |

Jeśli istnieje wiele plików z kodem Go, użyj następującego polecenia:
|
1 |
go build |
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:
|
1 |
./main |

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:
|
1 |
go build -o bin/hello |

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:
|
1 |
./bin/hello |
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:
|
1 |
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:
|
1 |
$GOPATH/bin |
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:
|
1 |
go env GOPATH |
|
1 |
go env GOBIN |

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

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

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!




Komentarze
Brak komentarzy. Bądź pierwszy.