Junior — Middle
Aké metódy a nástroje poznáš na implementáciu všeobecného programovania vo svojich projektoch?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa na implementáciu generického programovania používajú generiká, ktoré boli zavedené od verzie Go 1.18.
Hlavné nástroje a metódy:
- Parametrizované typy (generiká) — umožňujú písanie funkcií, štruktúr a metód, ktoré pracujú s rôznymi dátovými typmi, bez duplikácie kódu.
- Rozhrania s obmedzeniami (constraints) — stanovujú požiadavky na typy, ktoré môžu byť v generikách použité.
Príklad funkcie s generikami:
package main
import "fmt"
func SumIntsOrFloats[T int | float64](slice []T) T {
var sum T
for _, v := range slice {
sum += v
}
return sum
}
func main() {
ints := []int{1, 2, 3}
floats := []float64{1.1, 2.2, 3.3}
fmt.Println(SumIntsOrFloats(ints)) // 6
fmt.Println(SumIntsOrFloats(floats)) // 6.6
}
Pred zavedením generík sa často používala rozhranie{} a konverzia typov, ale to je menej bezpečné a menej efektívne.