У меня есть этот запрос в postgres, который запрашивает 1 или n пользователей на основе переданных параметров:
select name, phone from clients where id in ('id1','id2')
Теперь, когда я пытаюсь использовать это на golang, у меня возникают проблемы с приближением, как передать этот типпеременных аргументов для оператора Statement.Query ():
ids := []string{"0aa6c0c5-e44e-4187-b128-6ae4b2258df0", "606b0182-269f-469a-bb29-26da4fa0302b"}
rows, err := stmt.Query(ids...)
Это выдает ошибку: Cannot use 'ids' (type []string) as type []interface{}
Когда я проверяю запрос исходного кода, он может получить много переменных типа interface:
func (s *Stmt) Query(args ...interface{}) (*Rows, error) {
return s.QueryContext(context.Background(), args...)
}
Если я сделаю это вручную, это сработает:
rows, err := stmt.Query("0aa6c0c5-e44e-4187-b128-6ae4b2258df0", "606b0182-269f-469a-bb29-26da4fa0302b")
Но, конечно, мне нужно, чтобы аргументы были равны 1 или более и динамически генерировались.
Я использую Sqlx lib.