有一个需求,用户配置查询sql,查询结果入库表名,根据这个需求我创建了入库表结构体,查询func、但是golang的方法参数必须指定类型,入库表类型我是不能确定的。这种需求大家怎么处理的?
相关代码
//report_data_1 入库表结构体1
type ReportData1 struct {
Id int64 `json:"id"`
Date string `json:"date"`
Impressions int64 `json:"impressions"`
Click int64 `json:"click"`
}
//report_data2 入库表结构2
type ReportData2 struct {
Id int64 `json:"id"`
Date string `json:"date"`
Impressions int64 `json:"impressions"`
Click int64 `json:"click"`
}
//伪代码 但是这里必须制定一个表结构?我的结构不确定
func request(tableStruct ReportData1){
gorm.Where().Find(&tableStruct)
}
request 方法需要查询N种表结构,查询完毕的数据会有其他方法接收查询数据进行入库。
我试过传递interface{}方式,但是到了request方法内部还是要转成struct结构进行查询,这样的话,其他方法里面还需要再写相同的代码判断是哪种结构体。
写的可能有点绕,不知道大家理解了吗0 _ 0