在我的应用程序中,我使用两个软件包,一个数据库软件包,可以完成数据库中的所有保存,加载,更新,删除...。还有一个模型包,在其中使用检索到的数据,还构建JSON对象并进行数据处理。 在数据库包中,我有这样的结构:
type Foo struct {
name string
size int
factor int
}
并在模型包中是这样的:
type Bar struct {
name string `json:"name"`
size int `json:"size"`
user int
userName string `json:"user_name"`
}
当前,我将这样的数据复制到模型结构中:
var bar Bar
foo := database.LoadFoo()
bar.name = foo.name
bar.size = foo.size / foo.factor
问题是我不能真正使用数据库中的结构,因为我不需要模型中的原始数据,而且我担心关注点的分离。 还有另一种方法吗?我曾考虑过使用接口,但是我很难理解它们,并且不确定是否是正确的方法。