go 语言获取redis geo格式的坐标值
时间: 2023-12-05 13:06:42 浏览: 34
在 Go 语言中,你可以使用 go-redis 库来操作 Redis 数据库。如果你想获取 Redis 中一个元素的坐标值,可以使用该库提供的 GeoPos 方法。
具体来说,GeoPos 方法的语法如下:
```go
func (c *Client) GeoPos(key string, members ...string) *StringSliceCmd
```
其中,key 是指定的地理位置集合的名称,members 是指定的元素名称。如果要获取多个元素的坐标值,可以在 members 参数后面加上更多的 string 类型参数,以逗号分隔。
例如,如果你想获取名为 "locations" 的地理位置集合中名为 "New York" 的元素的坐标值,可以使用以下代码:
```go
results, err := rdb.GeoPos("locations", "New York").Result()
if err != nil {
fmt.Println("GeoPos error", err)
return
}
if len(results) > 0 {
longitude := results[0][0]
latitude := results[0][1]
fmt.Println("Longitude:", longitude)
fmt.Println("Latitude:", latitude)
}
```
这里的 GeoPos 方法返回一个 StringSliceCmd 类型的对象,你可以通过调用该对象的 Result 方法来获取结果,结果是一个包含多个坐标值的二维数组。在这个例子中,我们只获取了一个元素的坐标值,因此结果数组中只有一个元素,我们可以直接获取该元素的经度和纬度值。