Stmt.Query()
има променлив параметър:
func (s *Stmt) Query(args ...interface{}) (*Rows, error)
Това означава, че можете да използвате многоточия ...
за да предаде стойност на срез като стойност на променливия параметър, но този срез трябва да е от тип []interface{}
, напр.:
var args []interface{}
for _, v := range r.Form["type"] {
t, _ := strconv.Atoi(v)
args = append(args, t)
}
// ...
rows, err := stmt.Query(args...)
Като алтернатива можете да създадете предварително SQL заявката и да я изпълните, без да предавате аргументи на заявката, за пример вижте Клауза Go и IN в Postgres .