Sobes.tech
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.