我正在Golang做我的第一个任务,因此这可能是一个愚蠢的问题。
我遇到过这样的情况:我需要动态创建一个查询,该查询采用()的参数,因此执行的“”数量相等。arrayslice?
在这里:
var reportIds []int // eg [1, 2, 3, 4]
values := make([]interface{}, 0, len(reportIds))
for key, _ := range reportIds {
values = append(values, reportIds[key])
}
statement, _ :=
database.Prepare("DELETE FROM reports WHERE id IN ({??my_dynamic_question_marks??})")
statement.Exec(values...)
它适用于这些值,但我无法理解是否有一种干净的方法将切片中的许多元素替换为“”,以便我可以将其转换为字符串。我想出了这个想法,因为它看起来很干净,但是任何用“ ”创建字符串的方法都可以工作(自然是最后一个没有逗号的元素)。n?join?,slice
当然,我可以在循环中实现计数器并动态构建字符串,但我想知道是否有更干净或更“官方”的方式来做到这一点。for
哈士奇WWW
慕田峪7331174
随时随地看视频慕课网APP
相关分类