Junior — Middle
Můžete vysvětlit koncept obecných typů v programování?
sobes.tech AI
Odpověď od AI
Obecné typy (generika) umožňují vytvářet komponenty, třídy, funkce nebo struktury, které pracují s různými datovými typy, přičemž zajišťují bezpečnost typů a opakované použití kódu.
Namísto psaní samostatného kódu pro každý typ napíšete jeden obecný kód s parametrem typu. Při použití tohoto kódu specifikujete konkrétní typ, se kterým chcete pracovat.
Například v Swift (iOS) můžete deklarovat obecnou funkci:
generic func swapValues<T>(_ a: inout T, _ b: inout T) {
let temp = a
a = b
b = temp
}
var x = 5
var y = 10
swapValues(&x, &y) // x je nyní 10, y je nyní 5
var s1 = "ahoj"
var s2 = "svět"
swapValues(&s1, &s2) // s1 je nyní "svět", s2 je nyní "ahoj"
Zde je T parametr typu, který může být jakýkoli typ. To umožňuje funkci pracovat s jakýmkoli typem dat, přičemž zachovává bezpečnost typů.
Obecné typy jsou široce používány k vytváření kolekcí, například polí, slovníků atd., kde se může lišit typ prvků.