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Á?
Privátní školení
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
-
Ekosystém a nástroje:
go toolchain, go mod, workspace, gofmt, govet
-
Charakteristika jazyka, runtime, GC, Go memory model (základ)
-
Struktura projektu, konvence
-
Vstup, výstup a první program
-
Struktura
package main, func main()
-
Formátovaný výstup (
fmt), čtení ze stdin, práce se soubory (os, bufio)
-
Datové typy a práce s hodnotami
-
Základní typy,
rune a UTF-8, práce s řetězci
-
Kolekce:
array, slice (kapacita vs. délka), map
-
Konverze typů,
iota, konstanta vs. proměnná
-
Řízení běhu programu
-
Podmínky, cykly,
switch (vč. type switch), defer
-
Chyby jako hodnoty:
error, tvorba a řetězení chyb, errors.Is/errors.As
-
Funkce a rozhraní
-
Vícenásobné návratové hodnoty, pojmenované návraty
-
struct, metody na typech, interface a implicitní implementace
-
Kompozice (embedding) místo dědičnosti
-
Moduly, testování a kvalita
-
go mod init, verzování, replace, vendor
-
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