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

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言自学系列 | golang构造函数相关的知识,希望对你有一定的参考价值。

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

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,请移步至知乎网站,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/484035621


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

例如

package main 
 
import "fmt" 
 
type Person struct  
    name string 
    age  int 
 
 
func NewPerson(name string, age int) (*Person, error)  
    if name == ""  
        return nil, fmt.Errorf("name 不能为空") 
     
 
    if age < 0  
        return nil, fmt.Errorf("age 不能小于0") 
     
    return &Personname: name, age: age, nil 
 
 
func main()  
    person, err := NewPerson("tom", 20) 
    if err == nil  
        fmt.Printf("person: %v\\n", *person) 
     
 
 

运行结果

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

以上是关于Go语言自学系列 | golang构造函数的主要内容,如果未能解决你的问题,请参考以下文章

Go语言自学系列 | golang 函数

Go语言自学系列 | golang匿名函数

Go语言自学系列 | golang init函数

Go语言自学系列 | golang函数类型与函数变量

Go语言自学系列 | golang函数的返回值

Go语言自学系列 | golang结构体作为函数参数