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:
- Správně nakonfigurované Ubuntu 20.04. Podívejte se, jak nainstalovat a nakonfigurovat Ubuntu server.
- Uživatel bez oprávnění root s právy sudo. K provádění změn na úrovni systému je vyžadováno oprávnění root. V tomto návodu se dozvíte, jak udělit oprávnění sudo uživateli, který není root user.
- Správně nakonfigurované programovací prostředí Go.
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:
|
1 |
sudo apt update && sudo apt install golang-go |

Zkontrolujte verzi Go:
|
1 |
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:
|
1 |
sudo snap install go --classic |

Poté zkontrolujte verzi Go:
|
1 |
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:
|
1 |
mkdir -v demo_project |

Dále změňte aktuální adresář na nově vytvořený adresář:
|
1 |
cd demo_project/ |

Zde vytvořte nový textový soubor s názvem main.go:
|
1 |
nano main.go |
Následující kód obsahuje jednoduchý program, který po spuštění vypíše „Hello world“. Zkopírujte kód:
|
1 2 3 4 5 6 7 |
package main import "fmt" func main() { fmt.Println("hello world!") } |

Uložte soubor a zavřete editor. Ověřte, že kód funguje správně:
|
1 |
go 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:
|
1 |
mkdir -pv $HOME/go/{bin,src} |

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

Na konec souboru přidejte následující řádky:
|
1 2 3 |
export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin |

Znovu načtěte bashrc:
|
1 |
source ~/.bashrc |
Ověřte, zda byla změna úspěšná:
|
1 |
echo $PATH |
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:
|
1 |
go build main.go |

Pokud existuje více souborů s kódem Go, použijte následující příkaz:
|
1 |
go build |
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:
|
1 |
./main |

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

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

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

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

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í!




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