Generikai (pridėti Go 1.18) leidžia parašyti funkcijas ir tipus, kurie veikia su keliais tipais per tipo parametrus, išlaikant kompiliavimo laiko tipo saugumą. Jie panaikina senąjį kompromisą: arba dubliuoti kodą kiekvienam tipui, arba prarasti saugumą naudojant interface{}.
Problema, kurią sprendžia generikai
{ ... }
{ ... }
{} { ... }
