将结构分配给来自不同包的结构

时间:2018-12-07 07:57:06

标签: go

在我的应用程序中,我使用两个软件包,一个数据库软件包,可以完成数据库中的所有保存,加载,更新,删除...。还有一个模型包,在其中使用检索到的数据,还构建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

问题是我不能真正使用数据库中的结构,因为我不需要模型中的原始数据,而且我担心关注点的分离。 还有另一种方法吗?我曾考虑过使用接口,但是我很难理解它们,并且不确定是否是正确的方法。

0 个答案:

没有答案