Sobes.tech
Junior — Middle

Kan een structuur in Go een interface implementeren, en hoe doe je dat?

sobes.tech AI

Antwoord van AI

Ja, in Go kan een structuur een interface implementeren. Hiervoor moet de structuur alle methoden bevatten die in de interface zijn gedeclareerd. In Go vereist de implementatie van een interface geen expliciete verklaring — als de structuur de benodigde methoden bevat, wordt deze automatisch beschouwd als een implementatie van de interface.

Voorbeeld:

package main
import "fmt"

type Speaker interface {
    Speak() string
}

type Person struct {
    Name string
}

func (p Person) Speak() string {
    return "Hallo, mijn naam is " + p.Name
}

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

In dit voorbeeld implementeert Person de interface Speaker omdat het een Speak() methode heeft met de juiste handtekening.