¿En qué se diferencian las interfaces de los tipos genéricos en programación?
sobes.tech AI
Respuesta de la IA
Las interfaces y los tipos genéricos abordan diferentes tareas en programación:
-
Interfaces describen un conjunto de métodos que un tipo debe implementar. Permiten trabajar con diferentes tipos a través de un contrato común, asegurando el polimorfismo. Por ejemplo, la interfaz
Readeren Go define el métodoRead(), y cualquier tipo que implemente este método puede usarse comoReader. -
Los tipos genéricos permiten escribir funciones y estructuras que trabajan con diferentes tipos de datos, manteniendo la seguridad de tipos. Son plantillas parametrizadas por tipos que se compilan para tipos específicos en tiempo de uso.
Ejemplo en Go:
// Interfaz
type Reader interface {
Read(p []byte) (n int, err error)
}
// Función genérica
func PrintSlice[T any](s []T) {
for _, v := range s {
fmt.Println(v)
}
}
De esta manera, las interfaces definen comportamientos, y los tipos genéricos ofrecen versatilidad en el código para diferentes tipos.