(18条消息) Go语言自学系列 | golang构造函数_COCOgsta的博客-CSDN博客_golang 构造函数



Go语言自学系列 | golang构造函数

COCOgsta 已于 2022-04-09 21:03:01 修改 182 收藏
分类专栏: 视频学习笔记 文章标签: golang

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

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

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


golang没有构造函数的概念,可以使用函数来模拟构造函数的功能。

例如

  1. 1
    package main
  2. 2
  3. 3
    import "fmt"
  4. 4
  5. 5
    type Person struct {
  6. 6
    name string
  7. 7
    age int
  8. 8
    }
  9. 9
  10. 10
    func NewPerson(name string, age int) (*Person, error) {
  11. 11
    if name == "" {
  12. 12
    return nil, fmt.Errorf("name 不能为空")
  13. 13
    }
  14. 14
  15. 15
    if age < 0 {
  16. 16
    return nil, fmt.Errorf("age 不能小于0")
  17. 17
    }
  18. 18
    return &Person{name: name, age: age}, nil
  19. 19
    }
  20. 20
  21. 21
    func main() {
  22. 22
    person, err := NewPerson("tom", 20)
  23. 23
    if err == nil {
  24. 24
    fmt.Printf("person: %v\n", *person)
  25. 25
    }
  26. 26
    }
  27. 27

运行结果

  1. 1
    [Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
  2. 2
    person: {tom 20}


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