Sobes.tech
Junior — Middle

Vysvetlite koncept mazania typov v programovaní.

sobes.tech AI

Odpoveď od AI

Vymazanie typov (type erasure) je koncept v programovaní, pri ktorom sa informácie o dátových typoch odstraňujú alebo neukladajú počas behu programu.

V jazykoch s generikami, ako sú Swift alebo Java, používa prekladač vymazanie typov na premenenie generického kódu na kód s konkrétnymi typmi bez uchovávania informácií o parametroch typov počas behu.

To znamená, že počas behu program nepozná konkrétne typy, s ktorými pracoval generický kód, a pracuje s základnými typmi alebo objektmi.

Príklad v Swift:

func printValue<T>(_ value: T) {
    print(value)
}

// Počas behu je typ T vymazaný a funkcia pracuje s akýmkoľvek typom bez informácií o T

Vymazanie typov umožňuje zachovať kompatibilitu s runtime a znížiť veľkosť kódu, ale obmedzuje možnosti kontroly typov počas behu.