Erro "X does not implement Y (method has a pointer receiver)" em Go
Olá! Comecei a estudar Go e me deparei com um erro estranho ao trabalhar com interfaces. Eu tenho uma interface simples `Speaker` com um método `Speak()`, e uma struct `Dog` que implementa esse método. Mas quando tento passar um valor `Dog` para uma função que espera `Speaker`, o compilador exibe o erro:\n\n```\ncannot use dog (variable of type Dog) as Speaker value in argument to makeSpeak: Dog does not implement Speaker (method Speak has a pointer receiver)\n```\n\nAqui está meu código:\n\n```go\npackage main\n\nimport "fmt"\n\ntype Speaker interface {\n Speak() string\n}\n\ntype Dog struct {\n Name string\n}\n\nfunc (d *Dog) Speak() string {\n return "Au! Eu sou " + d.Name\n}\n\nfunc makeSpeak(s Speaker) {\n fmt.Println(s.Speak())\n}\n\nfunc main() {\n dog := Dog{Name: "Bóbik"}\n makeSpeak