golang的可变参数问题

今天在搞go的redis,使用的是redigo
redigo的执行动作都是通过Do来进行的

//Do定义
func (c *conn) Do(cmd string, args ...interface{}) (interface{}, error)

他使用了可变参数,我个人想在他的基础上做改进, 用hash把key分布到不同节点,在业务端做分库, 然后我新写了一个func:

func CallDo(cmd string, args ...interface{}) (interface{}, error){

    //TODO:查询redis子节点

    return rc.Do(cmd, args)
}

现在DoCallDo的问题是,我在CallDo也使用了可变参数, 在传到Do的时候参数个数就变了, 想问大神们这个有解决办法吗,或者 go有类似call_user_func 这种回调吗

阅读 2.1k
1 个回答

好吧,我刚写完问题就找到了, 在 CallDo 里面的 Do参数改为rc.Do(cmd, args...)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题