猿问

从 redis 服务器获取列表元素,从 []interface{} 到 []string

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


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


这,我试过的


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?


交互式爱情
浏览 255回答 2
2回答

蛊毒传说

我不熟悉您正在使用的包,但文档表明使用redis.Strings()而不是redis.Values()将完成您所追求的:Strings 是将多批量命令回复转换为 [] 字符串的助手。如果 err 不等于 nil,则 Strings 返回 nil, err。如果多批量项目不是批量值或 nil,则字符串返回错误。
随时随地看视频慕课网APP

相关分类

Go
我要回答