我看一般的开源库里一般都是返回的是指针,New(){return &结构体{}},例如:logrus
1,我想问下,啥时候用指针啥时候用单例模式?
2,以 logrus 为例,当我要用到 logrus 的时候,方式一:我是在每个包里都使用 变量=logrus.New(),方式二:还是在一个自定义 log 包里用一个全局变量=logrus.New(),然后其他包要用日志的时候都去导入这个自定义 log 包里的全局变量? 方式一(内存浪费?)和方式二有啥优缺点?
我看一般的开源库里一般都是返回的是指针,New(){return &结构体{}},例如:logrus
1,我想问下,啥时候用指针啥时候用单例模式?
2,以 logrus 为例,当我要用到 logrus 的时候,方式一:我是在每个包里都使用 变量=logrus.New(),方式二:还是在一个自定义 log 包里用一个全局变量=logrus.New(),然后其他包要用日志的时候都去导入这个自定义 log 包里的全局变量? 方式一(内存浪费?)和方式二有啥优缺点?