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.