Error "X does not implement Y (method has a pointer receiver)" en Go
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con un error que no puedo entender. Tengo una interfaz y una estructura que, según creo, la implementa. Pero el compilador dice que no.
Aquí está mi código:
```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) // Error: Person does not implement Greeter (method Greet has pointer receiver)
}
```
Error: `Person does not implement Greeter (method Greet has pointer receiver)`. Entiendo que el método `Greet()` está definido en el puntero `*Person`, no en `Person`. Pero