Golang笔记

对ssdb go sdk hissdb 的一点补充

有时候只需返回key-value 格式数据,go 的map 或python 的dict,而原有的Hash() 返回的是一个带着key 查询顺序的列表。

reply.go

func (r *Reply) Dict() map[string]string {

    dict := make(map[string]string)

    if len(r.Data) < 2 {
        return dict
    }

    for i := 0; i < (len(r.Data) - 1); i += 2 {
        dict[r.Data[i]] = r.Data[i+1]
    }

    return dict
}

示例:

if rs := conn.Cmd("multi_get", "aa", "bb", "cc"); rs.State == "ok" {
    fmt.Println("multi_get OK")
    for _, v := range rs.Hash() {
        fmt.Println("\t", v.Key, v.Value)
    }
}

if rs := conn.Cmd("multi_get", "cc", "bb", "aa"); rs.State == "ok" {
    fmt.Println("multi_get OK")
    for k, v := range rs.Dict() {
        fmt.Println("\t", k, v)
    }
}

输出:

multi_get OK
     aa newaa2
     bb newbb2
     cc newaa2
multi_get OK
     aa newaa2
     cc newaa2
     bb newbb2

修改后的代码 https://github.com/ego008/hissdb 5

本文网址: https://golangnote.com/topic/50.html (转载注明出处)
关于GolangNote:记录在工作中使用golang 遇到、面临的相关问题及解决方法。如果你在这里获得一些知识或信息,解决你的编程问题,请考虑捐赠给不幸的人或者你喜欢的慈善机构,除捐赠外,种植树木、志愿服务或减少排碳的行为也很有益处。如果你有任何问题可以在下面 留言
Be the first to comment!
Captcha image
Relative Articles