diff --git a/bin/main.go b/bin/main.go index 3e70588..33438d5 100644 --- a/bin/main.go +++ b/bin/main.go @@ -292,7 +292,12 @@ func main() { // 拼接查询条件, 超级简洁写法 var addCondition = func(conditions *strings.Builder, key, column string) { if values := QueryConditions(key); len(values) > 0 { - conditions.WriteString(fmt.Sprintf(" AND %s IN (%s)", column, strings.Join(values, ","))) + if conditions.Len() > 0 { + conditions.WriteString(" AND") + } else { + conditions.WriteString(" WHERE") + } + conditions.WriteString(fmt.Sprintf(" %s IN (%s)", column, strings.Join(values, ","))) } } var conditions strings.Builder @@ -315,14 +320,14 @@ func main() { idsStr[i] = strconv.FormatInt(v, 10) } if len(idsStr) > 0 { - conditions.WriteString(fmt.Sprintf(" AND id IN (%s)", strings.Join(idsStr, ","))) // 拼接查询条件 + if conditions.Len() > 0 { + conditions.WriteString(" AND") + } else { + conditions.WriteString(" WHERE") + } + conditions.WriteString(fmt.Sprintf(" id IN (%s)", strings.Join(idsStr, ","))) // 拼接查询条件 } } - if conditions.Len() > 0 { - conditionsStr := conditions.String() - conditionsStr = strings.Replace(conditionsStr, " AND", "", 1) // 去掉第一个 AND - conditionsStr = " WHERE" + conditionsStr // 拼接 WHERE - } // 获取图片列表 var images ListView