Go – generické programování (GO3)
Programování, Rust, Go, Julia
Dokážete už psát běžné aplikace v Go, ale chtěli byste ovládnout umění psaní znovupoužitelného kódu nezávislého na konkrétních datových typech? Datový model Go nabízí možnost psát generické funkce a datové struktury, jejichž konkrétní podobu volí uživatel zadáním typových parametrů.
Vyzkoušejte si tvorbu obecných nástrojů, které můžete sdílet mezi projekty. Generika jsou například oproti C++ jednoduchá a striktní, a především založená na definicích rozhraní, které už se v Go používají. Implementace generik v Go je zajímavá a odlišná například od C++ nebo Rustu.
TOTO ŠKOLENÍ VÁM POMŮŽE:
- Seznámit se se syntaxí a pravidly typových parametrů v Go (Go 1.18+)
- Naučit se navrhovat a implementovat generické funkce a datové typy (kolekce, utilitky)
- Pochopit použití constraints a vytvářet vlastní type sets pro robustní API
- Zvládnout integraci generik s rozhraními a rozhodovat mezi generiky a interface-based polymorfismem
- Řešit type inference, ladit chybové stavy a aplikovat idiomatické workaroundy
- Optimalizovat výkon, velikost binárky a psát udržitelnou dokumentaci a testy pro generické komponenty
KDO BY SE MĚL KURZU ZÚČASTNIT?
- Vývojáři backendu pracující v Go
- Autoři knihoven a frameworků v Go
- DevOps a systémoví inženýři píšící sdílené utility
- Softwaroví architekti navrhující typově bezpečná API
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
-
Úvod do generik (Go 1.18+)
-
Syntaxe typových parametrů, constraints (
~, |, type sets)
-
Vestavěné constraints (
comparable, any), vlastní constraints
-
Generické funkce a typy
-
Psaní obecných utilit (např.
Min/Max, filtry, transformace)
-
Generické kolekce a algoritmy (řazení, vyhledávání)
-
Kompozice typů, asociované metody na generických typech
-
Rozhraní a generika
-
Propojení
interface a type parameters, návrh API
-
Kdy volit interface-based polymorfismus a kdy generika
-
Chybové stavy a inference
-
Type inference vs. explicitní typy, čitelnost a chyby kompilace
-
Omezení generik v Go a idiomatické workaroundy
-
Výkon a čitelnost
-
Dopad generik na binárku a výkon
-
Udržitelnost, dokumentace, testy (table-driven s typy)
-
Doporučený předchozí kurz:
-
Go – pokročilé prostředky (GO2)
-
Doporučený následný kurz:
-
Go – paralelní programování (GO4)
-
Časový rozvrh:
-
3 dny (9:00-17:00)
-
Jazyk:
-
Česky