Qual é a diferença entre interfaces e tipos genéricos em programação?
sobes.tech IA
Resposta da IA
As interfaces e os tipos genéricos abordam tarefas diferentes na programação:
-
Interfaces descrevem um conjunto de métodos que um tipo deve implementar. Permitem trabalhar com diferentes tipos através de um contrato comum, garantindo o polimorfismo. Por exemplo, a interface
Readerem Go define o métodoRead(), e qualquer tipo que implemente esse método pode ser usado comoReader. -
Tipos genéricos permitem escrever funções e estruturas que funcionam com diferentes tipos de dados, mantendo a segurança de tipos. São modelos parametrizados por tipos que são compilados para tipos específicos na utilização.
Exemplo em Go:
// Interface
type Reader interface {
Read(p []byte) (n int, err error)
}
// Função genérica
func PrintSlice[T any](s []T) {
for _, v := range s {
fmt.Println(v)
}
}
Assim, as interfaces definem comportamentos, e os tipos genéricos oferecem versatilidade no código para diferentes tipos.