我尝试使用redis将go与redigo联系起来,redis-server
正在运行。
我想创建一个list字符串,附加一个字符串,然后从服务器获取所有元素并打印出来。
这个,我试过的
package main
import (
"fmt"
"github.com/garyburd/redigo/redis"
)
func main() {
c, err := redis.Dial("tcp", ":6379")
check(err)
defer c.Close()
_, err = c.Do("LPUSH", "bars", "foo")
check(err)
n, err := redis.Values(c.Do("LRANGE", "bars", 0, 10))
check(err)
fmt.Println(n)
}
func check(err error) {
if err != nil {
panic(err)
}
}
我打印[[102 111 111]]
代替foo
,似乎
如何将[]interface{}
(Values返回类型)转换为[]string
?
答案 0 :(得分:4)
我对您正在使用的软件包不熟悉,但the documentation建议使用redis.Strings()
而不是redis.Values()
来完成您的工作:
Strings是一个帮助程序,可将多批量命令回复转换为[]字符串。如果err不等于nil,那么Strings返回nil,错误。如果多个批量项不是批量值或nil,那么Strings会返回错误。
答案 1 :(得分:-2)