Sobes.tech
Junior — Middle

¿Qué tipos de programación genérica están disponibles en el lenguaje Go?

sobes.tech AI

Respuesta de la IA

En el lenguaje Go, la programación genérica se implementa a través de genéricos, que aparecieron a partir de la versión 1.18. Los principales tipos de genéricos en Go incluyen:

  • Tipos parametrizados (tipos genéricos): funciones y tipos pueden aceptar parámetros de tipos, lo que permite escribir código universal.
  • Interfaces con restricciones (restricciones de tipos): establecen requisitos para los tipos de parámetros, por ejemplo, que el tipo soporte ciertos métodos o pertenezca a un conjunto específico de tipos.

Ejemplo de una función genérica para un slice:

func IndexOf[T comparable](slice []T, val T) int {
    for i, v := range slice {
        if v == val {
            return i
        }
    }
    return -1
}

Aquí, T es un parámetro de tipo restringido por la interfaz comparable, lo que permite usar el operador ==. Esta función es universal para cualquier tipo comparable.

De esta manera, Go soporta la genérica a través de la parametrización de tipos y restricciones, lo que aumenta la flexibilidad y la reutilización del código.