Sobes.tech
Junior — Middle

Que tipos de estruturas de dados implementam interfaces específicas numa linguagem de programação?

sobes.tech IA

Resposta da IA

Em Go, as interfaces definem um conjunto de métodos que um tipo deve implementar para ser considerado compatível com essa interface. Diferentes estruturas de dados implementam certas interfaces, permitindo usá-las de forma polimórfica.

Exemplos:

  • io.Reader — interface para leitura de dados. Implementam tipos como ficheiros (os.File), buffers (bytes.Buffer), ligações de rede, etc.
  • io.Writer — interface para escrita de dados. Implementam ficheiros, buffers, ligações de rede, etc.
  • sort.Interface — interface para ordenar coleções. Implementam slices ou tipos personalizados, fornecendo os métodos Len(), Less(i, j int) e Swap(i, j int).
  • error — interface para erros, implementada por qualquer tipo com o método Error() string.

Desta forma, as estruturas de dados em Go implementam interfaces, fornecendo os métodos necessários, o que permite usá-las em funções e algoritmos genéricos sem dependência de tipos específicos.