Go – úvod do programování (GO1)

Programování, Rust, Go, Julia

Zajímáte se o vývoj cloudových aplikací a platforem? Poznejte jednoduchý jazyk pro tvorbu serverových systémů a platforem. Oproti skriptovacím jazykům jako je Python nabízí nativní výkon a paralelní zpracování úloh. Oproti klasickým kompilovaným jazykům jako C nebo C++ naopak jednoduchost a pohodlí pro programátora.

Vyzkoušejte si práci s programovacím jazykem, kde nemusíte řešit správu paměti, a přesto dosáhnete rozumného výkonu na současném hardware. Podíváme se spolu, jak se řeší různé věci v Go a v čem se liší od jiných programovacích jazyků.

TOTO ŠKOLENÍ VÁM POMŮŽE:

  • Seznámit se se základy jazyka Go a jeho ekosystémem
  • Porozumět modelu paměti, garbage collectoru a konkurenčnímu zpracování (gorutiny a kanály)
  • Naučit se pracovat s nástroji go toolchain, go mod, gofmt a dalšími
  • Zvládnout práci s kolekcemi, řetězci a typovými konverzemi
  • Osvojit si tvorbu modulů, správu závislostí a verzování
  • Vyvíjet a spouštět jednotkové testy, benchmarky a základy fuzz testů
  • Implementovat idiomatické rozhraní, metody a kompozici místo dědičnosti

KDO BY SE MĚL KURZU ZÚČASTNIT?

  • Programátoři přecházející z jiných programovacích jazyků
  • Začínající programátoři se základními znalostmi
  • Backend vývojáři a vývojáři cloudových služeb

KDE A KDY KURZ PROBÍHÁ?



Tento kurz není vypisován v otevřených termínech pro veřejnost.
Realizujeme jej výhradně jako školení na klíč, pro které může být zde uvedená osnova inspirací. Finální obsah, časový rozsah, termíny i forma realizace jsou vždy přizpůsobeny konkrétním požadavkům zadavatele. Školit můžeme také v angličtině.

Poptat kurz na míru

Náplň kurzu:

Skrýt detaily
  • Programovací jazyk Go
    1. Ekosystém a nástroje: go toolchain, go mod, workspace, gofmt, govet
    2. Charakteristika jazyka, runtime, GC, Go memory model (základ)
    3. Struktura projektu, konvence
  • Vstup, výstup a první program
    1. Struktura package main, func main()
    2. Formátovaný výstup (fmt), čtení ze stdin, práce se soubory (os, bufio)
  • Datové typy a práce s hodnotami
    1. Základní typy, rune a UTF-8, práce s řetězci
    2. Kolekce: array, slice (kapacita vs. délka), map
    3. Konverze typů, iota, konstanta vs. proměnná
  • Řízení běhu programu
    1. Podmínky, cykly, switch (vč. type switch), defer
    2. Chyby jako hodnoty: error, tvorba a řetězení chyb, errors.Is/errors.As
  • Funkce a rozhraní
    1. Vícenásobné návratové hodnoty, pojmenované návraty
    2. struct, metody na typech, interface a implicitní implementace
    3. Kompozice (embedding) místo dědičnosti
  • Moduly, testování a kvalita
    1. go mod init, verzování, replace, vendor
    2. go test, table-driven tests, benchmarking (testing.B), ukázky fuzz testů
Doporučený následný kurz:
Go – pokročilé prostředky (GO2)
Časový rozvrh:
3 dny (9:00-17:00)
Jazyk:
Česky