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.