带Redigo的GEOADD命令

带Redigo的GEOADD命令,go,redis,redigo,Go,Redis,Redigo,下面是我使用Redigo(“github.com/garyburd/Redigo/redis”)尝试的内容: 使用redis cli时,这一点很好: GEOADD geoIndex 3.361389 38.115556 12 ==> (integer) 1 其他命令工作正常,这只是我第一次使用GEOADD,它显然不像我期望的那样工作。 有人有想法吗?调用此API最简单的方法是: _, err := conn.Do("GEOADD", "geoIndex", "3.361389",

下面是我使用Redigo(“github.com/garyburd/Redigo/redis”)尝试的内容:

使用redis cli时,这一点很好:

GEOADD geoIndex  3.361389  38.115556  12
==> (integer) 1
其他命令工作正常,这只是我第一次使用GEOADD,它显然不像我期望的那样工作。
有人有想法吗?

调用此API最简单的方法是:

_, err := conn.Do("GEOADD", "geoIndex", "3.361389", "38.115556", "12")
您还可以传递数值:

_, err := conn.Do("GEOADD", "geoIndex", 3.361389, 38.115556, 12)
如果确实要将命令拼接在一起,则将切片传递给AddFlat,而不是指向切片的指针:

insertPos := []string{"3.361389", "38.115556", "12"}
_, err := conn.Do("GEOADD", redis.Args{}.Add("geoIndex").AddFlat(insertPos)...)

你说得对,你的建议是我第一次尝试,但我只是做了一个简单的例子,效果很好。事实上,问题来自于紧接着这一次的另一次redis呼叫,在这一次呼叫通过时失败了。。。谢谢
insertPos := []string{"3.361389", "38.115556", "12"}
_, err := conn.Do("GEOADD", redis.Args{}.Add("geoIndex").AddFlat(insertPos)...)