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.