Stmt.Query()
má variadic parametr:
func (s *Stmt) Query(args ...interface{}) (*Rows, error)
To znamená, že můžete použít tři tečky ...
předat hodnotu řezu jako hodnotu parametru variadic, ale tento řez musí být typu []interface{}
, např.:
var args []interface{}
for _, v := range r.Form["type"] {
t, _ := strconv.Atoi(v)
args = append(args, t)
}
// ...
rows, err := stmt.Query(args...)
Alternativně můžete dotaz SQL předem sestavit a spustit bez předávání argumentů dotazu, příklad viz Klauzule Go a IN v Postgres .