在 Go 和 pgx 中我很新。有没有办法轻松解析查询中的子结构值?
所以我做了一个加入查询,如:
rows, err := conn.Query(context.Background(),
`SELECT
rdr.id AS r_Id,
rdr.field1 AS r_Field2,
rdr.field2 AS r_Field2,
contact.firstname AS c_FirstName,
contact.lastname AS c_LastName,
contact.id AS c_Id
FROM rdr
INNER JOIN contact ON rdr.contact=contact.id`)
然后我的结构是
type Rdr struct {
Id int32
Field1 int32
Contact Contact
Field2 time.Time
}
type Contact struct {
Id int
FirstName string
LastName string
}
如何将行中返回的数据解析到我的 Rdr 结构中。我需要将正确的字段解析到联系人中,最好是同时解析,但我不知道该怎么做。我看不到 Scan 会如何做到这一点。我们正在查看 FieldDescriptions 和 Values,但它变得非常混乱。有没有简单/常用的方法来做到这一点?我想这是一个非常普遍的问题。