go - 如何附加到结构内的所有字符串值?
问题描述
我有一个定义在fruits.go
package domain
type AppleImages struct {
Front string `json:"frontImage"`
Back string `json:"backImage"`
Top string `json:"topImage"`
}
我在process.go
(将这个数据返回给处理程序)中定义了相同的内容。此定义仅用于演示目的,因为我使用 gorm 从数据库中获取值,因此我们无法在此处附加所需的 URL。
package process
func getApple() (apple domain.Apple){
apple = domain.Apple{
Front: "front-image.png"
Back: "back-image.png"
Top: "top-image.png"
}
return
}
因为我的输出是想要返回
{
frontImage: "https://www.example.com/front-image.png",
backImage: "https://www.example.com/back-image.png",
topImage: "https://www.example.com/top-image.png",
}
我不想手动添加https://www.example.com/
到结构中的每个图像。
有没有办法解析结构并自动将此字符串附加到所有现有值?
解决方案
使用 gormAfterFind
钩子。每次从数据库 gorm 调用加载数据后AfterFind
,您的数据都会更新为Apple
模型。然后,您无需在每次从数据库中获取数据后手动执行此操作。
func (u *Apple) AfterFind() (err error) {
u.Front= "https://www.example.com/"+ u.Front
u.Back= "https://www.example.com/"+ u.Back
u.Top= "https://www.example.com/"+ u.Top
return
}
在此处查看详细信息
推荐阅读
- apache-kafka - Kafka + Spring Batch Listener Flush Batch
- powershell - 以登录用户身份运行 powershell 脚本
- ios - Issue in updating value from `UserDefaults` in Swift
- macos - 是否可以在当前 Finder 位置打开 iTerm
- java - 如何使用 selenium webdriver 压缩和通过电子邮件发送在黄瓜中生成的测试报告
- java - 如何将 JSON 字符串转换为对象的 Arraylist
- javascript - ember-electron:为 ember 和电子应用程序编译的不同资产
- java - 位于 java 类文件中的 lambda 代码在哪里?
- jquery - 如何显示k条记录,然后显示垂直滚动条数据表
- java - javax.transaction-api:1.3 的 javac 断言错误