Junior — Middle
Aké typy všeobecného programovania sú k dispozícii v jazyku Go?
sobes.tech AI
Odpoveď od AI
V jazyku Go je všeobecné programovanie realizované prostredníctvom generík, ktoré boli zavedené od verzie 1.18. Hlavné typy generík v Go zahŕňajú:
- Parametrizované typy (generické typy): funkcie a typy môžu prijímať parametre typu, čo umožňuje písanie univerzálneho kódu.
- Rozhrania s obmedzeniami (obmedzenia typu): stanovujú požiadavky na typy parametrov, napríklad, aby typ podporoval určité metódy alebo patrili do určitého súboru typov.
Príklad generickej funkcie pre slice:
func IndexOf[T comparable](slice []T, val T) int {
for i, v := range slice {
if v == val {
return i
}
}
return -1
}
Tu je T parameter typu obmedzený rozhraním comparable, čo umožňuje použitie operátora ==. Táto funkcia je univerzálna pre všetky porovnateľné typy.
Týmto spôsobom Go podporuje generiká prostredníctvom parametrizácie typov a obmedzení, čo zvyšuje flexibilitu a opätovné použitie kódu.