🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` package main import ( "fmt" ) // 封装和继承:通过结构体和嵌套结构体实现 type Animal struct { Name string } func (a *Animal) Speak() { fmt.Printf("%s makes a sound\n", a.Name) } type Dog struct { Animal // 嵌套Animal结构体,实现继承 Breed string } func (d *Dog) Speak() { fmt.Printf("%s barks: Woof Woof!\n", d.Name) } type Cat struct { Animal // 嵌套Animal结构体,实现继承 Breed string } func (c *Cat) Speak() { fmt.Printf("%s meows: Meow Meow!\n", c.Name) } // 多态:通过接口实现 type Speaker interface { Speak() } func LetAnimalSpeak(speaker Speaker) { speaker.Speak() } func main() { // 创建Dog和Cat对象 dog := Dog{Animal{"Rover"}, "Golden Retriever"} cat := Cat{Animal{"Whiskers"}, "Siamese"} // 使用多态 LetAnimalSpeak(&dog) // 多态,调用Dog的Speak方法 LetAnimalSpeak(&cat) // 多态,调用Cat的Speak方法 } ```