Sobes.tech
Junior — Middle

Kann eine Struktur in Go eine Schnittstelle implementieren, und wie macht man das?

sobes.tech KI

Antwort von AI

Ja, in Go kann eine Struktur ein Interface implementieren. Dafür muss die Struktur alle in der Schnittstelle deklarierten Methoden haben. In Go erfordert die Implementierung eines Interfaces keine explizite Deklaration – wenn die Struktur die erforderlichen Methoden enthält, gilt sie automatisch als Implementierung des Interfaces.

Beispiel:

package main
import "fmt"

type Speaker interface {
    Speak() string
}

type Person struct {
    Name string
}

func (p Person) Speak() string {
    return "Hallo, mein Name ist " + p.Name
}

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

In diesem Beispiel implementiert Person das Interface Speaker, da es die Methode Speak() mit der erforderlichen Signatur besitzt.