Junior — Middle
Welke soorten generieke programmering zijn beschikbaar in de Go-taal?
sobes.tech AI
Antwoord van AI
In de programmeertaal Go wordt generieke programmering geïmplementeerd via generics, die vanaf versie 1.18 zijn geïntroduceerd. De belangrijkste typen generics in Go omvatten:
- Getypeerde typen (generieke types): functies en types kunnen typeparameters accepteren, waardoor het schrijven van universele code mogelijk is.
- Interfaces met beperkingen (trefbeperkingen): stellen eisen aan de typeparameters, bijvoorbeeld dat het type bepaalde methoden ondersteunt of tot een specifieke set types behoort.
Voorbeeld van een generieke functie voor een slice:
func IndexOf[T comparable](slice []T, val T) int {
for i, v := range slice {
if v == val {
return i
}
}
return -1
}
Hier is T een typeparameter beperkt door de interface comparable, wat het gebruik van de operator == mogelijk maakt. Deze functie is universeel voor alle vergelijkbare types.
Op deze manier ondersteunt Go generics via typeparametrisatie en beperkingen, wat de flexibiliteit en hergebruik van code verhoogt.