Как передать массив ключей в функцию MGET в пакете go-redis?

Я использую пакет go-redis (также пробовал redigo) и хочу получить несколько значений, кажется, я должен использовать функцию MGET(), но ввод функции похож на (keys ...string), есть ли способ создать массив ключей и перейти к функция или любой другой хакерский способ сделать это? в моем случае количество ключей (а также ключей) не фиксировано и нужно обрабатывать его динамически

Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
API ввода вопросов - это полезный инструмент для интеграции моделей машинного обучения, таких как ChatGPT, в приложения, требующие обработки...
5
0
3 852
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Создайте срез строк с ключами. Вызовите функцию, используя вариативный синтаксис:

var keys []string
keys = append(keys, "foo")
keys = append(keys, "bar")
sc := client.MGet(keys...)

Тот же подход работает с Redigo, но вместо фрагмента строк используется фрагмент интерфейса:

var keys []interface{}
keys = append(keys, "foo")
keys = append(keys, "bar")
r, err := conn.Do("MGET", keys...)

Другие вопросы по теме