我使用 Go + Postgres。要使用 Postgres,我使用pgx。我的 Postgres 表中有一个 UUID 数组,Go 中有一个带有 []*uuid.UUID 的 Struct (来自github.com/gofrs/uuid)(参见下面的代码)。
问题是当我尝试使用 AssignTo 函数时总是出错
不能:解码 &pgtype.UUIDArray{Elements:[]pgtype.UUID(nil), Dimensions:[]pgtype.ArrayDimension(nil), Status:0x2} 成 *[]*uuid.UUID
(我尝试使用所有带有指针的组合,但它不起作用)
我的结构(用于 API):
type Book struct {
AuthorIds []*uuid.UUID `json:"author_ids"`
}
我的结构(用于使用 Postgres):
type PgBook struct {
AuthorIds pgtype.UUIDArray `db:"author_ids"`
}
我使用AssignTo
的功能来自pgx
err := pgBook.AuthorIds.AssignTo(&book.AuthorIds)
如何解决这个问题呢?