有每行對應於一個結構具有以下字段我如何循環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