电话中的参数太多了

时间:2017-07-24 10:58:31

标签: go redis

我尝试使用mysql2redis将数据加载到redis群集。

当我尝试接受的解决方案时,即

} else if e.Command == "HMSET" {
    // Build up a string slice to hold the key value pairs
    args := make([]string, 0, len(e.MapData) * 2)
    for k, v := range e.MapData {
        args = append(args, k, v)
    }
    _,err := redis.StringMap(client.Do("HMSET", e.Key, args...))
    checkErr(err, "hmset error:")
}

我得到以下异常,

too many arguments in call to client.Do
    have (string, string, []string...)
    want (string, ...interface {})

说到Go,我是个新手。那么围棋老兵可以看看这个并建议一个解决方案吗?

1 个答案:

答案 0 :(得分:1)

在Go中,您可以使用切片作为可变参数。但是,切片必须包含传递给函数所需的所有参数。您也无法展开切片并传递其他参数。

因此,您的代码应该是:

^.+?[\r\n]+(.+?)[\r\n]