func (c *Cat) Speak() string {
return "Meow!"
}
运行上述代码,会得到如下错误:
cannot use Cat literal (type Cat) as type Animal in array or slice literal:
Cat does not implement Animal (Speak method has pointer receiver)
CatAnimal*Catnew(Cat)&Cat{}
animals := []Animal{Dog{}, new(Cat), Llama{}, JavaProgrammer{}}
*DogDogSpeak()
animals := []Animal{new(Dog), new(Cat), Llama{}, JavaProgrammer{}}
func (t T)MyMethod(s string) {
// ...
}