Sobes.tech
Junior — Middle

Que consequências surgem se a estrutura de dados não implementar a interface definida na programação orientada a objetos?

sobes.tech IA

Resposta da IA

Em Go, as interfaces são implementadas de forma implícita: se uma estrutura contém todos os métodos da interface, ela a implementa. Se a estrutura não implementar a interface dada, então:

  • O compilador gerará um erro ao tentar usar essa estrutura como valor do tipo de interface.
  • Isso previne erros em tempo de execução, pois o Go verifica estritamente a conformidade com as interfaces na fase de compilação.

Por exemplo, se você tiver uma interface:

type Reader interface {
    Read(p []byte) (n int, err error)
}

E uma estrutura:

type MyStruct struct {}

// Sem método Read, portanto MyStruct não implementa Reader

Tentar atribuir MyStruct a uma variável do tipo Reader causará um erro de compilação.

Assim, se a estrutura não implementar a interface, você não poderá usá-la onde essa interface for esperada, o que ajuda a evitar erros lógicos no programa.