Sobes.tech
Junior — Middle

Uma estrutura em Go pode implementar uma interface, e como fazer isso?

sobes.tech IA

Resposta da IA

Sim, em Go uma estrutura pode implementar uma interface. Para isso, a estrutura deve ter todos os métodos declarados na interface. Em Go, a implementação de uma interface não requer uma declaração explícita — se a estrutura contiver os métodos necessários, ela é automaticamente considerada como implementando a interface.

Exemplo:

package main
import "fmt"

type Speaker interface {
    Speak() string
}

type Person struct {
    Name string
}

func (p Person) Speak() string {
    return "Olá, meu nome é " + p.Name
}

func main() {
    var s Speaker = Person{Name: "Ivan"}
    fmt.Println(s.Speak())
}

Neste exemplo, Person implementa a interface Speaker porque possui um método Speak() com a assinatura necessária.