1

我尝试使用redigo将连接,正在运行。redis-server

我想创建一个字符串列表,附加一个字符串,然后从服务器获取所有元素并将它们打印出来。

这个,我试过的

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{} 返回类型)转换为[]string

4

2 回答 2

4

我不熟悉您正在使用的包,但文档建议使用redis.Strings()而不是redis.Values()将做你所追求的:

Strings 是一个将多批量命令回复转换为 [] 字符串的助手。如果 err 不等于 nil,则 Strings 返回 nil,err。如果多批量项不是批量值或零,则字符串返回错误。

于 2013-10-12T03:34:01.027 回答
-2

也许你可以试试这个 golang 的 redis 客户端:

https://github.com/xuyu/goredis

:)

于 2014-01-10T11:04:14.073 回答