Erreur "X does not implement Y (method has a pointer receiver)" en Go
Bonjour ! J'ai commencé à apprendre Go et j'ai rencontré une erreur étrange en travaillant avec les interfaces. J'ai une interface simple `Speaker` avec une méthode `Speak()`, et une structure `Dog` qui implémente cette méthode. Mais quand j'essaie de passer une valeur `Dog` à une fonction qui attend un `Speaker`, le compilateur génère l'erreur suivante :
```
cannot use dog (variable of type Dog) as Speaker value in argument to makeSpeak: Dog does not implement Speaker (method Speak has a pointer receiver)
```
Voici mon code :
```go
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Dog struct {
Name string
}
func (d *Dog) Speak() string {
return "Ouaf ! Je suis " + d.Name
}
func makeSpeak(s Speaker) {
fmt.Println(s.Speak())
}
func main() {
dog := Dog{Name: "Bobik"}
makeSpeak(dog)
}
```