Čas od času budete potřebovat svoje dílo uložit někam jinam, než na svůj počítač. Mnozí budou dokonce pomýšlet na sdílení svého kódu s ostatními např. na githubu. K tomu je samozřejmě nejpříhodnější použít git
. A jak nejlépe na to?
V první řadě je potřeba mít nainstalovaný git. Majitelé maců to mají jednoduché, tam je většinou git hned v základu. Ostatní si nainstalují git buď pomocí apt-get
, nebo yum
.
Nyní máte dvě možnosti. Už jste si napsali nějaký kód a chcete ho dát např. na github, nebo jste ještě nic nenapsali, ale chcete kód (který teprve napíšete) např. na github.
Jak se říká, žádný člověk není ostrov, tak ani žádný program není ostrov. Programy závisí na knihovnách jazyka a na dalších knihovnách. Go řeší tedy dva problémy. Jak závislost získat a jak závislost použít.
Aby mohlo Go závislost získat, musí vědět, kde se závislost nachází. A k tomu slouží právě posledně zmiňované jméno package. Pokud máme např. package github.com/stretchr/testify
, tak je naprosto zřejmé, že ji můžeme stáhnout z githubu. Go nám v tom ale rádo pomůže. Stačí jen říct go get github.com/stretchr/testify
a závislost je v našem GOPATH
.
Jelikož už známe syntaxi jazyka a umíme napsat např. Hello world
, tak nastává čas si říct něco o tom, jak si nakonfigurovat prostředí, abychom mohli pracovat s Go.
Instalace je jednoduchá. Pokud jste na Macovi, pak doporučuji použít homebrew
, i když si můžete stáhnout instalačky. Linux je podobný, yum
nebo apt
vám zajisté pomohou. Co se Windows týče, tam bohužel sloužit nemohu, ale na vlastní oči jsem viděl Go běžet na Windows, tak to určitě půjde.
Jazyk Go byl vytvořen, jelikož bylo potřeba dokončit práci. Není to poslední
trend ve světě počítačové vědy, ale je to nejrychlejší a nejnovější způsob,
jak řešit realné problémy.
Go používá známé koncepty imperativních jazyků se statickým typováním.
Rychle se kompiluje a také rychle běží. Přidává snadno pochopitelnou
podporu konkurenčnosti, což umožňuje využít výhody multi-core procesorů a
jazyk také obsahuje utility, které pomáhají se škálovatelným programováním.
Go má již v základu vynikající knihovnu a je s ním spojená nadšená komunita.
Než si povíme, proč programovat v Go a ne třeba v Java, tak odkaz na informace o jazyku Go na wikipedia.
Po této trošce suché teorie něco praxe. Programovací jazyky se dělí do několika skupin. V rámci nich Go zapadá do těchto:
- kompilovaný - programy v Go se musí před během kompilovat, na rozdíl od jazyků typu JavaScript, nebo Python
- nativní - programy v Go se kompilují do nativního kódu. Programy tedy nepotřebují běhové prostředí, jako např. Java (ta má JVM), nebo .net (ten má .net framework)
- silně typovaný - program psaný v Go může použít pouze typy známé v době kompilace. To je rozdíl proti např. JavaScript, kde jsou typy známi až v době spuštění.
- strukturální - typy nemusí uvádět, s jakým typem jsou kompatibilní. Třeba Java jakožto nominální jazyk toto musí uvádět (
class b extends a
)
- funkcionální - v Go jsou funkce občany první kategorie. Funkce mohou přijímat funkce jako parametr a také je vracet. Toto např. Java do verze 8 neuměla.
Když tedy víme, co je Go zač, tak důvody proč si zvolit Go:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello world")
}
A to je vše. Pokud si chcete kód vyzkoušet, tak zkuste https://play.golang.org/p/xtFNtF7ZmR.