(18条消息) Go语言自学系列 | golang继承_COCOgsta的博客-CSDN博客_golang 继承



Go语言自学系列 | golang继承

COCOgsta 于 2022-04-25 19:18:41 发布 300 收藏
分类专栏: 视频学习笔记 文章标签: golang

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客


golang本质上没有oop的概念,也没有继承的概念,但是可以通过结构体嵌套实现这个特性。

例如

  1. 1
    package main
  2. 2
  3. 3
    import "fmt"
  4. 4
  5. 5
    type Animal struct {
  6. 6
    name string
  7. 7
    age int
  8. 8
    }
  9. 9
  10. 10
    func (a Animal) eat() {
  11. 11
    fmt.Println("eat...")
  12. 12
    }
  13. 13
  14. 14
    func (a Animal) sleep() {
  15. 15
    fmt.Println("sleep")
  16. 16
    }
  17. 17
  18. 18
    type Dog struct {
  19. 19
    Animal
  20. 20
    }
  21. 21
  22. 22
    type Cat struct {
  23. 23
    Animal
  24. 24
    }
  25. 25
  26. 26
    func main() {
  27. 27
    dog := Dog{
  28. 28
    Animal{
  29. 29
    name: "dog",
  30. 30
    age: 2,
  31. 31
    },
  32. 32
    }
  33. 33
  34. 34
    cat := Cat{
  35. 35
    Animal{
  36. 36
    name: "cat",
  37. 37
    age: 3,
  38. 38
    },
  39. 39
    }
  40. 40
  41. 41
    dog.eat()
  42. 42
    dog.sleep()
  43. 43
  44. 44
    cat.eat()
  45. 45
    dog.sleep()
  46. 46
    }

运行结果

  1. 1
    [Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
  2. 2
    eat...
  3. 3
    sleep
  4. 4
    eat...
  5. 5
    sleep

yg9538 2022年7月22日 22:48 312 收藏文档