像面向对象一样

Go 语言不支持面向对象编程语言中那样的构造子方法,但很容易实现工厂模式来构建子工厂

使用New来定义实例规范

首先定义一个结构体

1
2
3
4
type Exmple struct{
	ID int
	Name string
}

开始构造

1
2
3
4
5
6
7
8
9
func NewExmple(id int,name string) *Exmple {
	if id <0 {
		return nil
	}
	return &Exmple{
		ID : id,
		Name: name,
	}
}

调用

1
exmple := NewExmple(1,"lili")