Zpět na blog

Sestavování a instalace programů v jazyce Go

Sestavování a instalace programů v jazyce Go

Go je staticky typovaný programovací jazyk. Původně navržený společností Google, Go sdílí podobnosti s C z hlediska syntaxe. Nicméně z hlediska funkcionality přichází Go s dalšími funkcemi, jako je bezpečnost paměti, garbage collection (správa paměti), strukturální typování atd. Během posledních několika let si Go získal neuvěřitelnou popularitu.

Tento průvodce projde kroky sestavení a instalace programů v Go s pomocí ukázkového programu v Go.

Sestavení a instalace Go

Než se posuneme dále, pojďme si stručně rozebrat, co znamená sestavení (building) a instalace (installing) v kontextu programování v Go.

V programování v Go se sestavením rozumí proces překladu zdrojového kódu do binárního spustitelného souboru. Spustitelný soubor bude obsahovat nezbytné podpůrné kódy, aby mohl běžet nezávisle na cílové platformě. Na rozdíl od programů v Ruby/Python obecně binární soubory Go nevyžadují ke spuštění na novém systému žádné systémové závislosti.

Umístění binárního souboru Go do cesty ke spustitelným souborům v systému se označuje jako instalace programu. Jak již bylo zmíněno dříve, tento průvodce předvede spuštění, sestavení a instalaci jednoduchého programu „Hello world“ v Go.

Požadavky

Než začnete, projděme si požadavky, které budete muset splnit, abyste mohli postupovat podle tohoto návodu:

Nejprve si rychle projdeme instalaci a konfiguraci programovacího prostředí Go. Podrobnější návod krok za krokem na instalaci Go najdete zde.

Instalace Go

Go je k dispozici pro všechny hlavní platformy (Windows, Linux a macOS). Oficiálně je k dispozici přímo z Golang. Kvůli názvu webu se Go často označuje jako Golang. Zde budeme programovací jazyk Go vždy označovat jako Go a webové stránky Golang jako Golang.

Golang nabízí podrobnou dokumentaci k instalaci Go pro všechny podporované platformy. Oficiální metoda však popisuje manuální instalaci. Při každém vydání nové verze musíte instalaci ručně aktualizovat na nejnovější verzi. Místo toho můžeme Go nainstalovat přímo pomocí APT (z výchozích repozitářů Ubuntu) nebo snap (z Snapcraft).

●     Instalace Go pomocí APT

Go je přímo k dispozici z oficiálních repozitářů Ubuntu. Ne vždy se však jedná o nejnovější verzi Go. V repozitáři Ubuntu jsou také k dispozici dvě varianty Go: golang-go a gccgo-go. Zatímco golang-go je oficiální verze od Golang, gccgo-go je Go frontend pro GCC (jako součást kompilátoru GNU). Obecně je golang-go preferovanou volbou.

Chcete-li nainstalovat golang-go, spusťte následující příkaz APT:

Go Programs apt update and go install

Zkontrolujte verzi Go:

go version
●     Instalace Go pomocí snap

Snapy jsou univerzální balíčky pro Linux, které lze nainstalovat na jakoukoli podporovanou distribuci. Snapcraft uvádí všechny podporované distribuce s návody k instalaci. V Ubuntu je podpora snapů ve výchozím nastavení povolena. Go je k dispozici také jako snap. Je třeba mít na paměti, že není oficiálně spravován projektem Golang. Balíček snap je spravován poskytovatelem třetí strany.

Chcete-li nainstalovat Go snap, spusťte následující příkaz:

snap install go

Poté zkontrolujte verzi Go:

snap go version

Nastavení projektu v Go

Náš systém má všechny potřebné nástroje pro zahájení vývoje aplikací v Go. Je čas vytvořit náš ukázkový projekt. Nejprve vytvořte vyhrazený adresář pro náš projekt:

mkdir demo_project

Dále změňte aktuální adresář na nově vytvořený adresář:

cd demo_project

Zde vytvořte nový textový soubor s názvem main.go:

Následující kód obsahuje jednoduchý program, který po spuštění vypíše „Hello world“. Zkopírujte kód:

Go Programs nano main_go

Uložte soubor a zavřete editor. Ověřte, že kód funguje správně:

run main_go

Kompilátor Go sestavil zdrojový soubor do binárního souboru a spustil jej. Také ověřuje, že program funguje úspěšně.

Konfigurace pracovního prostoru Go

Pro správnou instalaci programů v Go musíme nakonfigurovat pracovní prostor Go a GOPATH.

Nejprve vytvořte adresářovou strukturu:

mkdir bin src

Dále musíme deklarovat hodnotu GOPATH a přidat ji do PATH. Otevřete soubor bashrc :

Go Programs nano bashrc

Na konec souboru přidejte následující řádky:

Go Programs nano bashrc modified

Znovu načtěte bashrc:

Ověřte, zda byla změna úspěšná:

path variable

Sestavení binárních souborů Go

Tato část ukáže kompilaci kódů Go do distribuovatelného samostatného binárního souboru. Binární soubor bude obsahovat nejen kód Go, ale také další systémové kódy pro spuštění binárního souboru. Chcete-li zkompilovat náš kód, spusťte následující příkaz:

build main_go

Pokud existuje více souborů s kódem Go, použijte následující příkaz:

Pokud není zadán žádný soubor, Go vyhledá soubory Go v aktuálním adresáři a všechny je zkompiluje. Každý binární soubor je pojmenován po svém zdrojovém souboru Go. V tomto příkladu Go sestavil program main. Spusťte program:

run main binary

Tento program je připraven k distribuci do jiných počítačů.

●     Změna názvu binárního souboru

Při každém sestavení Go automaticky vybere název pro spustitelný soubor. Pokud jde o výběr názvu, existují dvě možné možnosti.

  • Pokud se používají Go modules, pak spustitelný soubor použije poslední část názvu modulu.
  • Pokud se nepoužívá žádný modul Go, pak Go použije název aktuálního adresáře nebo název zdrojového souboru.

Práce se složitějšími programy vyžaduje jinou jmennou konvenci. V takových scénářech nejsou tyto výchozí metody pojmenování příliš užitečné. V takové situaci je nejlepším způsobem přizpůsobit výstup pomocí příznaku -o. Pojďme si to rychle předvést. Sestavte program Go s příznakem -o pro určení jiného názvu souboru:

build binary with different name

Příznak -o říká Go, aby přiřadil výstup k danému argumentu. V tomto případě bude spustitelný soubor umístěn v adresáři bin a bude se jmenovat hello.

Dále otestujte nový spustitelný soubor:

bin hello_go

Instalace programů v Go

Dosud jsme si ukázali sestavení distribuovatelných binárních souborů Go ze zdrojových souborů. Můžeme je distribuovat do jiných systémů, nasazovat a provádět testy. Nelze je však spustit mimo jejich zdrojové adresáře. Pokud plánujete program aktivně používat, může být toto omezení velmi nepříjemné. Abychom si to usnadnili, můžeme programy Go nainstalovat a přistupovat k nim odkudkoli v systému.

Chcete-li program nainstalovat, spusťte ve zdrojovém adresáři následující příkaz Go:

go install

Tento příkaz se chová stejně jako go build. Místo ponechání spustitelného souboru ve zdrojovém adresáři je však umístěn do následujícího adresáře:

Proměnné GOPATH a GOBIN říkají Go, kde má hledat pracovní prostory Go. GOPATH má výchozí umístění $HOME/go. Ručně jsme nastavili GOBIN na $GOPATH/bin. Chcete-li zkontrolovat umístění GOPATH a GOBIN použijte následující příkaz:

go env path

Zkontrolujte obsah $GOPATH/bin. Náš program by tam měl být:

ls go path

Je čas ověřit, zda byla instalace úspěšná. Změňte aktuální adresář na jiné místo a zkuste spustit program Go:

Go Programs check installation by running binary

Nakonec byste měli být schopni vzít své programy a nainstalovat je do svého systému. Můžete je používat odkudkoli a kdykoli je potřebujete.

Závěrečné myšlenky

V tomto návodu jsme úspěšně předvedli, jak používat sady nástrojů Go k sestavení spustitelných binárních souborů ze zdrojových kódů. Tyto binární soubory lze použít na jiných systémech i bez jakékoli konfigurace Go. Nakonec jsme předvedli, jak nainstalovat program v Go, aby byl dostupný odkudkoli v systému.

Pro vývojáře nabízí CloudSigma podporu Go API pro správu vašich cloudových serverů. Umožňuje úpravu prostředků a škálování infrastruktury.

Příjemné programování!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

Zatím žádné komentáře. Buďte první.