Golang redis(四)redigo类型转换及args传参详解

本文详细介绍了在Golang中使用Redigo库与Redis交互时如何进行类型转换,包括数据类型转换规则、Redigo提供的转换函数,如Bool、ByteSlices、Int等,并探讨了Do方法中传参Args的方法,帮助开发者更好地理解和操作Redis数据。
摘要由CSDN通过智能技术生成

​ 因为go是强类型的一门语言,因此,因此经常需要将Golang与redis的数据类型进行对其,这就涉及到类型转换

数据类型之间的转换规则

Do发送args参数,需要对go原始的数据类型进行转换, 转换的规则如下:

GO数据类型               转换为/转换的方法:
[]byte                           []byte 
string                           string
int, int64                       strconv.FormatInt(v)
float64                          strconv.FormatFloat(v, 'g', -1, 64)
bool                             true -> "1", false -> "0"
nil                                  ""
其他类型                          fmt.Fprint(w, v)

redis 返回reply 与go的转换规则:

Redis返回类型                         Go数据类型
error                                redis.Error
integer                              int64
简单string                           string
大量string                            []byte 或 nil (如果值不存在).
array                                 []interface{} 或 nil (如果值不存在).

可以使用类型断言,或者reply 提供的帮助函数将interface{]转换为对应类型数据

类型转换

redigo提供了对应的类型转换函数,以方便进行类型转换

例如:

exists, err := redis.Bool(c.Do("EXISTS", "foo"))
if err != nil {
    // handle error return from c.Do or type conversion error.
}

Scan函数将数组回复的元素转换为Go类型, 在批量执行的时候,获取结果时,很有用处

var value1 int
var value2 string
reply, err := redis.Values(c.Do("MGET", "key1", "key2"))
if err !
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值