Fehler "X does not implement Y (method has a pointer receiver)" in Go
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf einen Fehler gestoßen, den ich nicht verstehe. Ich habe ein Interface und eine Struktur, die es meiner Meinung nach implementiert. Aber der Compiler sagt, dass das nicht der Fall ist.
Hier ist mein Code:
```go
package main
import "fmt"
type Greeter interface {
Greet() string
}
type Person struct {
Name string
}
func (p *Person) Greet() string {
return "Hello, " + p.Name
}
func sayHello(g Greeter) {
fmt.Println(g.Greet())
}
func main() {
p := Person{Name: "Alice"}
sayHello(p) // Fehler: Person does not implement Greeter (method Greet has pointer receiver)
}
```
Fehler: `Person does not implement Greeter (method Greet has pointer receiver)`. Ich verstehe, dass die Methode `Greet()` auf dem Pointer `*Person` definiert ist, nicht auf `Person`. Aber
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen