Junior — Middle
De que maneiras é possível verificar se a estrutura corresponde à interface definida?
sobes.tech IA
Resposta da IA
No Go, a verificação de conformidade de uma estrutura com uma interface ocorre de forma implícita — se a estrutura implementar todos os métodos da interface, ela está em conformidade.
Para uma verificação explícita na fase de compilação, muitas vezes usa-se uma verificação de compilação por atribuição:
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m MyStruct) DoSomething() {}
// Verificação de compilação
var _ MyInterface = (*MyStruct)(nil)
Se MyStruct não implementar MyInterface, o compilador gerará um erro. Essa é uma maneira conveniente de garantir que a estrutura esteja em conformidade com a interface sem executar o programa.