
Kurzy a certifikace Dev & Test
Programovací jazyk Go
Cena (bez DPH)
Go je relativně nový a populární programovací jazyk umožňující překlad zdrojových kódů do nativního (strojového) kódu, takže výsledkem jsou rychlé a paměťově efektivní aplikace srovnatelné s výsledky, které jsou produkované překladači jazyků C, C++, D či Rust (popř. Fortran, FreePascal apod.). Současně ovšem jazyk Go používá automatickou správu paměti (GC – garbage collector), takzvané gorutiny a kanály a současně i poměrně minimalistickou syntaxi, čímž se od dvojice C a C++ dosti podstatným způsobem odlišuje. V současnosti je Go používán především ve světě kontejnerů a mikroslužeb.
Cíl kurzu
Seznámit účastníky kurzu se všemi důležitými vlastnostmi programovacího jazyka Go do takové hloubky, aby byli schopni tvořit a upravovat aplikace psané v Go, přičemž výsledný kód bude efektivní a psaný idiomatickým způsobem.
Cílová skupina
Uživatelé se základní znalostí programování, kteří chtějí začít používat tento moderní programovací jazyk.
Osnova kurzu
Úvodní informace o jazyku Go
- Vznik jazyka Go, verze Go
- Typické příklady použití jazyka Go v SW projektech
- Společné vlastnosti a rozdíly oproti dalším jazykům
Syntaxe a sémantika programovacího jazyka Go
- Klíčová slova
- Podporované datové typy
- Funkce, viditelnost funkcí v jiných balíčcích
- Datové struktury
- Rozhraní
- Programové bloky a viditelnost proměnných
- Podmínky
- Programové smyčky
- Reakce na výjimky
- Operátory
- Pole a asociativní pole
(součástí této sekce bude několik labů, ve kterých si vyzkoušíme všechny popisované vlastnosti Go)
Souběžný a paralelní běh výpočtů
- Gorutiny
- Kanály - struktury určené pro komunikaci mezi gorutinami
(součástí této sekce bude několik labů)
Praktické příklady
- Práce se sockety
- HTTP server naprogramovaný v Go
Go v reálném provozu
- Testování aplikací psaných v Go
- Benchmarky pro aplikace psané v Go
- Monitoring, využití metrik
Doplňující témata
- Lintery pro Go
- (Cross)překlad aplikace pro další architektury procesorů a jiné operační systémy
Předpoklady účastníka
- Znalost programování, postačuje na základní úrovni (ideální znalost Pythonu, C či Javy)
- Schopnost pracovat v příkazové řádce
Další požadavky
- Počítač s jakoukoliv distribucí, ideálně Linux (není podmínkou)
- Webový prohlížeč
- Terminál (konzole)
- Jakýkoli textový editor (nebo i IDE, VSCode apod.)