v podstatě jen vážou typovou proměnnou pro budoucí volání, nic nového se nevytváří (je to jen wrapper pro compile time, žádnou paměť navíc nezaberou).
Z high-level pohledu ani neni duvod, aby neco zabiraly. V min omezenem jazyce by parametr ani nebyl fixovany, cili by nebylo co vytvaret...
Mas nejaky odkaz na zdroj, ze skutecne nic nezabiraji realne? (Dovedu si predstavit nejaky implementacni duvod, proc by tomu tak nemuselo byt).
Tak jistě, je to něco zcela jiného
Znovu: v cem? (Nehadam se, ale proste tam zadny zasadni rozdil nevidim)
Co potkávám továrny, tak obvykle neprodukují nějaké konkrétní objekty, ale "něco" co má nějaké rozhraní. Takže ta továrna je mezivrstva, díky které nevím, co vlastně přesně dostanu.
Jo, to jsem zapomnel zminit, to tady ale taky plati. V tom prikladu
https://rakyll.org/generics-facilititators/ muze byt struktura Querier kldne neexportovana.
Ty facilitátory ani nepadají z nějaké továrny - vznikají jako instance nějaké konkrétní generické třídy. A ani z nich nemusí padat nějaké výsledky - může to být třeba zapisovač řádků do databázové tabulky.
Go nema "tridy". A to NewQuerier je sice semanticky konstruktor, ale na urovni jazyka je to libovolna typove parametrizovana funkce, ktera typ zafixuje do structu. Volajici vubec nemusi vedet, co ten struct, ktery dostane, obsahuje. Vi jenom, ze jsou na nem nadefinovane nejake metody.