继承是面向对象里面的概念,继承是子类继承父类的属性和方法。

    1. package main
    2. import "fmt"
    3. // Animal 类
    4. type Animal struct {
    5. name string
    6. }
    7. func (a *Animal) eat() {
    8. fmt.Printf("%s, 正在吃草\n", a.name)
    9. }
    10. func (a *Animal) sleep() {
    11. fmt.Printf("%s, 正在睡觉\n", a.name)
    12. }
    13. // 狗类
    14. type Dog struct {
    15. kind string
    16. *Animal // 继承Animal结构体
    17. }
    18. func (d *Dog) bak() {
    19. fmt.Printf("%s 正在狂叫", d.name)
    20. }
    21. func main() {
    22. d1 := &Dog{
    23. kind: "金毛",
    24. Animal: &Animal{
    25. name: "川普",
    26. },
    27. }
    28. d1.eat() // 等同于 d1.Animal.eat()
    29. d1.bak()
    30. }