Sobes.tech
Junior — Middle

¿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 Reader en Go define el método Read(), y cualquier tipo que implemente este método puede usarse como Reader.

  • 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.