我有这个结构:
type AppContext struct {
DB *db.DB
Properties *db.Col
}
类型Properties
的 *db.Col
是Tiedot集合。
我遇到的问题是,对于我的缓冲系统,我希望能够获取该集合的名称。奇怪的是,库的默认部署无法实现。
当我像这样实例化AppContext
时:
App = AppContext{}
..然后再做:
App.DB.Create("Properties")
App.Properties = App.DB.Use("Properties")
我想添加一个实例方法,但它不允许我:
func (dbCol App.Properties) ColName() string {
return "Properties"
}
我知道如何才能实现这一目标,或者以更智能的方式扩展Tiedot?
答案 0 :(得分:1)
我认为Go中没有这样的扩展。但是,我确信问题可以通过其他方式解决。例如,您可以创建包含集合及其名称的结构:
type Collection struct {
Col *tiedot.Col
Name string
}
并初始化
App.Properties = Collection{App.DB.Use("Properties"), "Properties"}