Junior — Middle
Milyen típusú általános programozás érhető el a Go nyelvben?
sobes.tech MI
Válasz az MI-től
A Go nyelvben az általános programozás a generikusok révén valósul meg, amelyek a 1.18-as verziótól kezdve érhetők el. A Go fő generikus típusai a következők:
- Paraméterezett típusok (generikus típusok): a függvények és típusok fogadhatnak típusparamétereket, ami lehetővé teszi az általános kód írását.
- Korlátozásokkal ellátott interfészek (típus-korlátozások): meghatározzák a paramétertípusokra vonatkozó követelményeket, például, hogy a típus támogassa bizonyos metódusokat vagy egy adott típusokból álló halmazhoz tartozzon.
Példa egy generikus függvényre egy szelethez:
func IndexOf[T comparable](slice []T, val T) int {
for i, v := range slice {
if v == val {
return i
}
}
return -1
}
Itt a T egy típusparaméter, amely az comparable interfész által korlátozott, lehetővé téve az == operátor használatát. Ez a függvény minden összehasonlítható típusra általános.
Így a Go támogatja a generikusokat típusparaméterezés és korlátozások révén, növelve a rugalmasságot és a kód újrahasznosíthatóságát.