如何解决我可以访问父结构字段吗?
是否可以访问父结构字段以便我可以在扫描功能中使用它?我想在图像字符串中有 A
UUID。所以它的 http://blah.com/images/a/04756596-7cf1-4ee0-bc6e-38677f2057e8/test.jpg
a := models.A{}
rows.StructScan(&a);
type A struct {
UUID uuid.UUID `db:"uuid" json:"uuid"`
Name string `db:"name" json:"name"`
Image Image `db:"image" json:"image"`
}
type Image string
func (i *Image) Scan(value interface{}) error {
if value == nil {
*i = "https://picsum.photos/id/1029/400/150"
return nil
}
b := fmt.Sprintf("%s/images/a/**{A.UUID HERE}**/%s",config.ServerConfig.BaseUrl,value.(string))
*i = Image(b)
return nil
}
如果有更好的方法来解决这个问题,我会全力以赴,任何有关它的文档都将不胜感激。
解决方法
我从一条已被删除的评论中解决了这个问题。
将图像更改为结构并添加了 ID 字段。更新了 sql 语句以返回 A.UUID
作为其自身和 image.id
有点技巧,但 sqlx 不喜欢填充具有相同 db
标记的两个不同结构字段
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。