我正在使用带有 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 中可以归结为哪种类型?