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) {
// ...
}