Stmt.Query()
ma zmienny parametr:
func (s *Stmt) Query(args ...interface{}) (*Rows, error)
Oznacza to, że możesz użyć wielokropka ...
aby przekazać wartość wycinka jako wartość parametru variadic, ale ten wycinek musi być typu []interface{}
, np.:
var args []interface{}
for _, v := range r.Form["type"] {
t, _ := strconv.Atoi(v)
args = append(args, t)
}
// ...
rows, err := stmt.Query(args...)
Alternatywnie możesz wstępnie zbudować zapytanie SQL i wykonać je bez przekazywania argumentów zapytania, na przykład zobacz Klauzula Go i IN w Postgresie .