我是 golang 新手,使用 Jmoiron Sqlx 包查询 Postgres 数据库(选择查询)。我正在做的方式是创建一个 sql 字符串并调用 Select(dest interface{}, query string,args) 方法。虽然它运作良好,但问题是我正在动态生成我的 sql 字符串,因此每个响应的目标结构应该不同。
例如: - 一个查询可以是
Select a,b,c,d from table A ;
另一个可以
Select x,y,z from Table B;
据我了解,应该为 Select Method 定义两个不同的结构来工作,即
Struct Resp1{
a string
b string
c string
d string
}
和,
Struct Resp2{
x string
y string
z string
}
然后调用 select as db.Select(&resp1,query,args)
,db.Select(&resp2,query,args)
我在想我是否可以定义一个通用的 Struct
say Resp3{
a string
b string
c string
d string
x string
y string
z string
}
并且基于我的选择查询仅填充匹配的列(即只有 a,b,c,d 用于第一和 x,y,z 用于第二)。
我尝试搜索但无法获得任何线索。