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

Privátní školení a termíny na míru

Toto téma je možné zrealizovat pouze jako privátní, a to nejen formou uzavřeného firemního kurzu, ale také jako individuální konzultaci pro jednotlivce.

V případě kurzu na míru je níže uvedená osnova pouze inspirací. Finální obsah vzdělávání, jeho délka i termíny budou přizpůsobeny konkrétním vstupním znalostem, potřebám a cílům účastníků.

Cenovou nabídku vám rádi připravíme na základě vstupů zaslaných e-mailem nebo zadaných prostřednictvím poptávkového formuláře. Cena privátního školení vychází z náročnosti požadované obsahové náplně školení, časového rozsahu a celkového počtu přihlášených osob.

KDE A KDY KURZ PROBÍHÁ?

Kontaktujte nás

S námi máte na výběr: Přijďte na kurz osobně do naší učebny, nebo se ke kurzu připojte online. Pokud preferujete online formu, uveďte prosím do poznámky v objednávce "Připojím se virtuálně".
Více informací k hybridní formě školení naleznete zde.

Náplň kurzu:

Skrýt detaily
  • Úvod do generik (Go 1.18+)
    1. Syntaxe typových parametrů, constraints (~, |, type sets)
    2. Vestavěné constraints (comparable, any), vlastní constraints
  • Generické funkce a typy
    1. Psaní obecných utilit (např. Min/Max, filtry, transformace)
    2. Generické kolekce a algoritmy (řazení, vyhledávání)
    3. Kompozice typů, asociované metody na generických typech
  • Rozhraní a generika
    1. Propojení interface a type parameters, návrh API
    2. Kdy volit interface-based polymorfismus a kdy generika
  • Chybové stavy a inference
    1. Type inference vs. explicitní typy, čitelnost a chyby kompilace
    2. Omezení generik v Go a idiomatické workaroundy
  • Výkon a čitelnost
    1. Dopad generik na binárku a výkon
    2. 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:00hod. - 17:00hod.)
Jazyk:
Česky