Sobes.tech
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.