Späť na blog

Zostavovanie a inštalácia programov v jazyku Go

Zostavovanie a inštalácia programov v jazyku Go

Go je staticky typovaný programovací jazyk. Pôvodne navrhnutý spoločnosťou Google, Go zdieľa podobnosti s C z hľadiska syntaxe. Pokiaľ ide o funkčnosť, Go však prichádza s ďalšími funkciami, ako je bezpečnosť pamäte, garbage collection, štrukturálne typovanie atď. Za posledných niekoľko rokov si Go získal neuveriteľnú popularitu.

Tento návod prejde kroky zostavenia a inštalácie programov v jazyku Go pomocou ukážkového programu Go.

Zostavenie a inštalácia Go

Skôr než prejdeme ďalej, poďme si stručne vysvetliť, čo znamená zostavenie a inštalácia v kontexte programovania v jazyku Go.

V programovaní v jazyku Go sa zostavenie vzťahuje na proces prekladu zdrojového kódu do binárneho spustiteľného súboru. Spustiteľný súbor bude obsahovať potrebný podporný kód, aby mohol bežať nezávisle na cieľovej platforme. Na rozdiel od programov v Ruby/Python, binárne súbory Go vo všeobecnosti nevyžadujú žiadne systémové závislosti na spustenie v novom systéme.

Umiestnenie binárneho súboru Go do cesty k spustiteľným súborom v systéme sa označuje ako inštalácia programu. Ako už bolo spomenuté, tento návod predvedie spustenie, zostavenie a inštaláciu jednoduchého programu „Hello world“ v jazyku Go.

Požiadavky

Pred spustením si prejdime požiadavky, ktoré musíte splniť, aby ste mohli postupovať podľa tohto návodu:

Najprv si rýchlo prejdeme inštaláciu a konfiguráciu programovacieho prostredia Go. Podrobnejší podrobný návod na inštaláciu Go nájdete tu.

Inštalácia Go

Go je k dispozícii na všetkých hlavných platformách (Windows, Linux a macOS). Oficiálne je k dispozícii priamo z Golang. Kvôli názvu webovej stránky sa Go často označuje ako Golang. Tu budeme programovací jazyk Go vždy označovať ako Go a webovú stránku Golang ako Golang.

Golang ponúka podrobnú dokumentáciu o inštalácii Go pre všetky podporované platformy. Oficiálna metóda však popisuje manuálnu inštaláciu. Pri každom vydaní novej verzie musíte inštaláciu manuálne aktualizovať na najnovšiu verziu. Namiesto toho môžeme Go nainštalovať priamo pomocou APT (z predvolených repozitárov Ubuntu) alebo snap (zo Snapcraft).

●     Inštalácia Go pomocou APT

Go je priamo k dispozícii z oficiálnych repozitárov Ubuntu. Nie vždy však ide o najnovšiu verziu Go. V repozitári Ubuntu sú k dispozícii aj dva varianty Go: golang-go a gccgo-go. Zatiaľ čo golang-go je oficiálna verzia od Golang, gccgo-go je Go frontend pre GCC (ako súčasť GNU kompilátora). Vo všeobecnosti je golang-go preferovanou voľbou.

Ak chcete nainštalovať golang-go, spustite nasledujúci príkaz APT:

Go Programs apt update and go install

Skontrolujte verziu Go:

go version
●     Inštalácia Go pomocou snap

Snapy sú univerzálne balíky pre Linux, ktoré je možné nainštalovať na akúkoľvek podporovanú distribúciu. Snapcraft uvádza všetky podporované distribúcie s návodmi na inštaláciu. V Ubuntu je podpora snap povolená v predvolenom nastavení. Go je k dispozícii aj ako snap. Musíte mať na pamäti, že nie je oficiálne spravovaný spoločnosťou Golang. Balík snap spravuje poskytovateľ tretej strany.

Ak chcete nainštalovať Go snap, spustite nasledujúci príkaz:

snap install go

Potom skontrolujte verziu Go:

snap go version

Nastavenie projektu v Go

Náš systém má všetky potrebné nástroje na začatie vývoja aplikácií v jazyku Go. Je čas vytvoriť náš ukážkový projekt. Najprv vytvorte vyhradený adresár pre náš projekt:

mkdir demo_project

Potom zmeňte aktuálny adresár na novovytvorený adresár:

cd demo_project

Here, create a new text file named main.go:

Nasledujúci kód obsahuje jednoduchý program, ktorý po spustení vypíše „Hello world“. Skopírujte kód:

Go Programs nano main_go

Uložte súbor a zatvorte editor. Overte, či kód funguje správne:

run main_go

Kompilátor Go zostavil zdrojový súbor do binárneho súboru a spustil ho. Taktiež overuje, či program funguje úspešne.

Konfigurácia pracovného priestoru Go

Na správnu inštaláciu programov v jazyku Go musíme nakonfigurovať pracovný priestor Go a GOPATH.

Najprv vytvorte adresárovú štruktúru:

mkdir bin src

Ďalej musíme deklarovať hodnotu GOPATH a pridať ju do PATH. Otvorte súbor bashrc :

Go Programs nano bashrc

Na koniec súboru pridajte nasledujúce riadky:

Go Programs nano bashrc modified

Znovu načítajte bashrc:

Overte, či bola zmena úspešná:

path variable

Zostavenie binárnych súborov Go

Táto časť ukáže kompiláciu kódov Go do distribuovateľného samostatného binárneho súboru. Binárny súbor bude obsahovať nielen kód Go, ale aj ďalšie systémové kódy na spustenie binárneho súboru. Ak chcete skompilovať náš kód, spustite nasledujúci príkaz:

build main_go

Ak existuje viacero súborov s kódom Go, použite nasledujúci príkaz:

Ak nie je zadaný žiadny súbor, Go vyhľadá súbory Go v aktuálnom adresári a skompiluje ich všetky. Každý binárny súbor je pomenovaný podľa svojho zdrojového súboru Go. V tomto príklade Go zostavil program main. Spustite program:

run main binary

Tento program je pripravený na distribúciu do iných počítačov.

●     Zmena názvu binárneho súboru

Pri každom zostavovaní Go automaticky vyberie názov pre spustiteľný súbor. Pokiaľ ide o výber názvu, existujú dve možnosti.

  • Ak sa používajú moduly Go, spustiteľný súbor použije poslednú časť názvu modulu.
  • Ak sa nepoužíva žiadny modul Go, Go použije názov aktuálneho adresára alebo názov zdrojového súboru.

Práca s komplexnejšími programami si vyžaduje inú konvenciu pomenovania. V takýchto scenároch nie sú tieto predvolené metódy pomenovania veľmi užitočné. V takejto situácii je najlepším spôsobom prispôsobiť výstup pomocou príznaku -o. Poďme si to rýchlo predviesť. Zostavte program Go s príznakom -o na určenie iného názvu súboru:

build binary with different name

Príznak -o hovorí Go, aby priradil výstup k danému argumentu. V tomto prípade bude spustiteľný súbor umiestnený v adresári bin a bude sa volať hello.

Ďalej otestujte nový spustiteľný súbor:

bin hello_go

Inštalácia programov Go

Doteraz sme si ukázali zostavovanie distribuovateľných binárnych súborov Go zo zdrojových súborov. Môžeme ich distribuovať do iných systémov, nasadzovať a vykonávať testy. Nemôžu sa však spúšťať mimo svojich zdrojových adresárov. Ak plánujete program aktívne používať, toto obmedzenie môže byť veľmi otravné. Aby sme si to uľahčili, môžeme programy Go nainštalovať a pristupovať k nim odkiaľkoľvek v systéme.

Ak chcete program nainštalovať, spustite v zdrojovom adresári nasledujúci príkaz Go:

go install

Tento príkaz sa správa rovnako ako go build. Namiesto ponechania spustiteľného súboru v zdrojovom adresári sa však umiestni do nasledujúceho adresára:

Premenné GOPATH a GOBIN hovoria Go, kde má hľadať pracovné priestory Go. GOPATH predvolená hodnota je umiestnenie $HOME/go. Manuálne sme nastavili GOBIN na $GOPATH/bin. Ak chcete skontrolovať umiestnenie GOPATH a GOBIN použite nasledujúci príkaz:

go env path

Skontrolujte obsah $GOPATH/bin. Náš program by tam mal byť:

ls go path

Je čas overiť, či bola inštalácia úspešná. Zmeňte aktuálny adresár na iné miesto a skúste spustiť program Go:

Go Programs check installation by running binary

Nakoniec by ste mali byť schopní vziať svoje programy a nainštalovať ich do svojho systému. Môžete ich použiť odkiaľkoľvek a kedykoľvek ich potrebujete.

Záverečné myšlienky

V tomto návode sme úspešne predviedli, ako používať Go toolchains na zostavenie spustiteľných binárnych súborov zo zdrojových kódov. Tieto binárne súbory je možné použiť na iných systémoch aj bez akejkoľvek konfigurácie Go. Nakoniec sme predviedli, ako nainštalovať program Go tak, aby bol dostupný odkiaľkoľvek v systéme.

Pre vývojárov CloudSigma ponúka podporu pre Go API na správu vašich cloudových serverov. Umožňuje úpravu zdrojov a škálovanie infraštruktúry.

Príjemnú prácu s počítačom!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.