Menu
Coddy logo textTech

O que é uma Interface?

Parte da seção Lógica & Fluxo do Journey de GO da Coddy — lição 12 de 68.

Uma interface em Go é como um contrato que define quais comportamentos um tipo deve ter, sem especificar como esses comportamentos são implementados. Pense nela como uma coleção de assinaturas de métodos que descreve o que algo pode fazer.

Para entender melhor as interfaces, imagine uma tomada elétrica em sua casa.

A tomada tem um formato específico e fornece eletricidade, mas ela não se importa com qual dispositivo você conecta nela. Seja uma luminária, um carregador de celular ou um computador, qualquer dispositivo que tenha o formato de plugue correto pode se conectar e receber energia. A tomada define a "interface" - os requisitos para a conexão.

Em Go, uma interface funciona de forma semelhante. Ela define um conjunto de assinaturas de métodos que um tipo deve ter para se "conectar" a essa interface. Qualquer tipo que possua todos os métodos exigidos satisfaz automaticamente a interface, independentemente do que mais esse tipo possa fazer ou de como ele implementa esses métodos.

Este conceito é poderoso porque permite que você escreva código que funciona com qualquer tipo que possa realizar certos comportamentos, tornando seus programas mais flexíveis e reutilizáveis. Assim como diferentes dispositivos podem usar a mesma tomada, diferentes tipos Go podem todos satisfazer a mesma interface, desde que possuam os métodos necessários.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo