# 2.3 构造函数 结构体没有构造函数,你可以创建一个函数返回一个相应类型的实例代替(类似一个工厂): ```go func NewSaiyan(name string, power int) *Saiyan { return &Saiyan{ Name: name, Power: power, } } ``` 这种模式会导致开发者犯一些错误。另外,这有点轻微的语法变化;其次,让人觉得不好区分。 我们的工厂函数没有必要返回一个指针;下面代码是完全有效的: ```go func NewSaiyan(name string, power int) Saiyan { return Saiyan{ Name: name, Power: power, } } ``` ## 链接