2

我正在使用带有 pgx 库的 Go 来使用 PostGIS 插件从 Postgres 数据库中查询,但我无法确定来自 PostGIS 的 Point 的类型,或者更好地说,它适合 Golang 的类型。

代码:

    rows, err := db.conn.Query(context.Background(), "select * from point")
    if err != nil {
        return err
    }
    defer rows.Close()

    for rows.Next() {
        var uuid string
        var coordinate []float32
        err = rows.Scan(&uuid, &coordinate)
        if err != nil {
            log.Println(uuid)
            log.Println(coordinate)
        }
    }

    return rows.Err()

正如预期的那样,我收到以下错误:

can't scan into dest[1]: cannot assign &{{2 2} 2} to *[]float32

发生错误是因为坐标是 PostGIS 点,而不是 float32 数组。在 Go 中可以归结为哪种类型?

4

0 回答 0