func(c *Cat) Speak() string { return"Meow!"}
运行上述代码,会得到如下错误:
cannot use Cat literal (typeCat) as typeAnimal 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{}}
*DogDogSpeak()Cat*Catfunc(t T)MyMethod(s string) { // ...} func(T, string)*CatCatCat*CatCat*CatDog*DogGogd->Speak()interface{}interface{}(type, value)interface{}interface{}*