Error "pointer to interface, not interface": how to correctly pass interfaces in Go?
¡Hola a todos! Soy nuevo en Go y me encontré con un error de compilación que no entiendo: «*MyInterface is pointer to interface, not interface». \n\nTengo una interface y una struct que la implementa:\n\n```go\ntype Animal interface {\n Speak() string\n}\n\ntype Dog struct{}\n\nfunc (d *Dog) Speak() string {\n return "Woof!"\n}\n```\n\nQuiero pasar un puntero a la struct a una función que acepta una interface:\n\n```go\nfunc MakeSound(a Animal) {\n fmt.Println(a.Speak())\n}\n\nfunc main() {\n dog := &Dog{}\n MakeSound(dog) // funciona\n}\n```\n\nPero si intento pasar un **puntero a interface** (por alguna razón), obtengo el error:\n\n```go\nfunc main() {\n var animalInterface Animal\n animalInterface = &Dog{}\n MakeSound(&animalInterface) // error: cannot use &animalInterfa
No answers yet.
Inicia sesión para dejar una respuesta