构造函数
Go语言的结构体没有构造函数,我们可以自己实现。
例如,下方的代码就实现了一个person的构造函数。
因为struct是值类型,如果结构体比较复杂的话,值拷贝性能开销会比较大,所以该构造函数返回的是结构体指针类型。
type person struct {
name string
city string
age int8
}
func newPerson(name, city string, age int8) *person {
return &person{
name: name,
city: city,
age: age,
}
}
//调用构造函数
func main() {
p9 := newPerson("张三", "沙河", 90)
fmt.Printf("%#v
", p9) //&main.person{name:"张三", city:"沙河", age:90}
}