postgresql - GoLang 解析点数据类型

标签 postgresql go

在我的数据库中,我有一个需要坐标值的表。
这样的值被存储为

Point DataType



但是,当我尝试获取这样的值时,GO 以错误响应:

unsupported Scan, storing driver.Value type []uint8 into type *models.Point



这是我的模特
type Business struct {
    ID int `json:"id,omitempty"`
    Name string `json:"name,omitempty"`
    Owner string `json:"owner,omitempty"`
    Coordinates Point `json:"coordinates,omitempty"`
    Reason string `json:"reason,omitempty"`
    BusinessBranches []BusinessBranches `json:"reason,omitempty"`
}

这是点类型模型
type Point struct {
    X float64 `json:"lat"`
    Y float64 `json:"lon"`
}

在我的 Controller 中,我称之为业务选择。
func (b *BusinessRepoImpl) Select() ([]models.Business, error) {
    business_list := make([]models.Business, 0)
    rows, err := b.Db.Query("SELECT id, name, owner, coordinates, reason FROM business")
    if err != nil {
        return business_list, err
    }
    for rows.Next() {
        business := models.Business{}
        err := rows.Scan(&business.ID, &business.Name, &business.Owner, &business.Coordinates, &business.Reason)
        if err !=  nil {
            fmt.Println(err)
            break
        }
        business_list = append(business_list, business)
    }
    err = rows.Err()
    if err != nil {
        return business_list, err
    }
    return business_list, nil
}

任何人都知道如何解析这样的 DataType,所以我可以读取并存储它?
谢谢。 :)

最佳答案

正如我所看到的,您需要设置一个具有当前纬度、经度的结构,然后从数据库中解码。

关于postgresql - GoLang 解析点数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57873989/

相关文章:

go - Golang 结构体名称和类型后面的字符串是什么?

django - 我如何去南方工作 jython2.7-django1.7?

sql - 一个表中的每一行的 PostgreSQL 连接另一个表中的所有行

postgresql - postgres 中带有 psql 的空行。我怎样才能删除它?

go - 如何使用 Golang 向 LDAP 服务器添加新条目?

go - Go是否容易受到缓冲区溢出的影响

postgresql - Postgres INSERT INTO 与 SELECT

javascript - 使用 postgresql 从 url 加载图像,但只填充文本链接

go - golang的cgo中如何使用std::vector或者其他容器?

go - 如何使用GoQuery查找具有特定ID的元素