Junior — Middle
Como é que se pode garantir que a estrutura de dados implementa a interface requerida?
sobes.tech IA
Resposta da IA
No Go, para verificar se uma estrutura implementa uma interface, pode-se usar uma implementação implícita da interface — basta que a estrutura tenha todos os métodos da interface.
Para uma verificação explícita na fase de compilação, muitas vezes adiciona-se uma atribuição de uma interface vazia a uma variável com o tipo da estrutura:
var _ MyInterface = (*MyStruct)(nil)
Isso fará o compilador verificar se MyStruct implementa MyInterface. Caso contrário, ocorrerá um erro de compilação.
Essa abordagem é útil para documentação e para detectar erros de implementação de interface precocemente.