我想将符号添加到查询格式中.我应该如何添加


func (s *TODOService) DeleteTODO(ctx context.Context, ids []int64) error {
const deleteFmt = `DELETE FROM todos WHERE id IN (?%s)`

return nil
}

我需要向查询中添加与id列表数量一样多的符号(此处为?(,所以我想组合fmt。Sprintf和字符串。重复函数将符号添加到提供的查询格式中我应该如何添加?

ipmlStringer interface

package main
import (
"fmt"
"strconv"
"strings"
)
type SqlArr []int64
func (a SqlArr) String() string {
ans := strings.Builder{}
for i := 0; i < len(a); i++ {
ans.WriteString(strconv.FormatInt(a[i], 10))
if i != len(a)-1 {
ans.WriteRune(',')
}
}
return ans.String()
}
func Test(ids SqlArr) {
deleteFmt := fmt.Sprintf(`DELETE FROM todos WHERE id IN (%s)`, ids)
fmt.Printf("%vn", deleteFmt)
}
func main() {
Test([]int64{1, 2, 3})
}

最新更新