这两种用法 一般在那些场景适合使用new 初始化那些场景适合使用 struct 初始化
两种方式个人都不推荐,在工程中,很多时候需要通过构造函数完成一些除了赋值之外的初始化,比如注册到一个单例、加入一个事件回调。由于 go 没有伴生对象,以及更多的可见性封装,因此只有强制性的通过统一命名的函数来实现。 我们在项目中,更多采用:
//对象的简单赋值,尤其是针对多个属性时,确保一致
func NewXXX()*XXX{
//todo
}
```go //从内存或库中赋值 ··· func LoadXXX ()XXX{ } 因为没有多态,当参数不同时,不得不追加 *ByYYY的后缀。
更多评论