有每行对应于一个结构具有以下字段我如何循环struct的字段查询过滤
type item struct {
ItemId *string `json:"item_id"`
OwnerId *string `json:"owner_id"`
Status *string `json:"status"`
... // many more
}
数据库在数据库中,填写了所有字段的所有行。现在我想要一个函数,它需要一个item
对象,它的字段可能不会被填充为输入并返回一个SQL查询字符串。例如,
func FindItems(filter item) string
输入item
充当过滤器。逻辑如下(以蟒蛇风格的种类)
query = `select * from item_table`
condition = ""
for field, value in filter:
if value != nil:
condition = " and " if condition else " where "
condition += " field=value"
query += condition
我该怎么办呢?或者是否有更好的方法来进行过滤?
[Go:从接口获取所有字段]的可能重复(http://stackoverflow.com/questions/39866503/go-get-all-fields-from-an-interface/39866671#39866671)。 – icza