Stmt.Query()
har en variadisk parameter:
func (s *Stmt) Query(args ...interface{}) (*Rows, error)
Det betyder att du kan använda ellipsen ...
för att skicka ett segmentvärde som värdet för den variadic-parametern, men det segmentet måste vara av typen []interface{}
, t.ex.:
var args []interface{}
for _, v := range r.Form["type"] {
t, _ := strconv.Atoi(v)
args = append(args, t)
}
// ...
rows, err := stmt.Query(args...)
Som ett alternativ kan du förbygga SQL-frågan och köra utan att skicka frågeargument, se till exempel Gå och IN-klausul i Postgres .