Sql 在执行查询时,是否可以传入参数数组而不是单独传入每个参数?

Sql 在执行查询时,是否可以传入参数数组而不是单独传入每个参数?,sql,database,go,parameters,Sql,Database,Go,Parameters,有人知道在执行查询时是否可以传入一个参数数组,而不是单独传递每个参数吗?因此,不是: query = “select * from grid where test1 = ? AND test2 = ?” g.DB.Query(query, params[0], params[1]) 比如: query = “select * from grid where test1 = ? AND test2 = ?” g.DB.Query(query, params) 我试着像这样打开切片: g.DB.

有人知道在执行查询时是否可以传入一个参数数组,而不是单独传递每个参数吗?因此,不是:

query = “select * from grid where test1 = ? AND test2 = ?”
g.DB.Query(query, params[0], params[1])
比如:

query = “select * from grid where test1 = ? AND test2 = ?”
g.DB.Query(query, params)
我试着像这样打开切片:

g.DB.Query(query, params...)
var params []interface{}
params = append(params, strs[0], strs[1])
但我得到了一个错误:

无法将参数类型[]字符串用作中的类型[]接口{} g.DB.Query的参数


你差点就成功了。您只需要将参数作为[]接口{}而不是[]字符串。更像这样:

g.DB.Query(query, params...)
var params []interface{}
params = append(params, strs[0], strs[1])
或许:

params := make([]interface{}, len(strs))
for i, s := range strs {
    params[i] = s
}
如果你事先不知道你会有多少弦。之后,您可以解压缩/显示您的params切片:


它可以工作,因为这个版本的params将具有正确的类型。

您可以使用XML,因为它可以有多个节点和您的参数show我会使用XML@RyanWilson吗?