【发布时间】:2015-01-12 18:52:45
【问题描述】:
在 Golang 应用模型中
我有以下:
func AddClub(name string) int64 {
o := orm.NewOrm()
club := Club{Name: name}
id, err := o.Insert(&club)
if err != nil {
fmt.Printf("Id: %s, Error: %s", id, err)
}
return id
}
那么下面:
func GetAllClubs() []*Club {
o := orm.NewOrm()
var clubs []*Club
num, err := o.QueryTable("clubs").All(&clubs)
if err != nil {
fmt.Printf("Returned Rows Num: %s, %s", num, err)
}
return clubs
}
我想删除重复的 o := orm.NewOrm() 实例化。我该怎么做?
我试图把它作为init() func 的一部分,如下所示:
func init() {
o := orm.NewOrm()
}
但我在控制台中遇到 undefined o 错误
【问题讨论】:
-
作为参数传入? ...这个问题需要一些实质内容。是什么阻止您将其作为参数传递?
-
@SimonWhitehead 我可以这样做,所以我在每个模型函数中指定了额外的参数,但我不确定这是否是一个好的解决方案,因为我需要为每个模型调用进行依赖注入
-
这个 init() 方法在哪里?什么文件?