golang 可变参数函数的传递问题

qinerg 发布于 2013/08/05 12:37
阅读 2K+
收藏 0

@astaxie 你好,想跟你请教个问题:

在我的应用中使用了github.com/garyburd/redigo/redis框架访问redis,为了能通用,我把原框架中的Do方法做了层封装,代码如下:

func (rc *RedisInfo) MyDo(cmd string, args ...interface{}) (interface{}, error) {
	if rc.c == nil {
		rc.reconnect()
	}
	return rc.c.Do(cmd, args)
}
但在调用时redis报参数错误。后来我分析了一下,我调MyDo方法后,args接收到的动态参数被转为了数组,再调Do方法时args其实是传的数组,这样的话肯定报错了。

请教,向这种动态参数函数的封装,我应该怎么来写?

加载中
1
astaxie
astaxie
rc.c.Do(cmd, args...)
0
傅小黑
傅小黑
rc.c.Do(cmd,args...)
0
qinerg
qinerg
非常感谢 傅小黑 和 astaxie !
0
-土星-
-土星-
谢大侠居然会来oschina,意外。
返回顶部
顶部