登录
首页 >  Golang >  Go问答

如何在查询格式中添加符号?

来源:stackoverflow

时间:2024-02-08 10:36:14 337浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《如何在查询格式中添加符号?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

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

我需要向查询中添加与 id 列表数量一样多的符号(此处为 ),因此我想结合 fmt.sprintf 和 strings.repeat 函数将符号添加到提供的查询格式中应该如何我添加它?


正确答案


ipml stringer接口

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("%v\n", deleteFmt)
}

func main() {
    Test([]int64{1, 2, 3})
}

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>