登录
首页 >  Golang >  Go问答

如何附加到结构内的所有字符串值?

来源:stackoverflow

时间:2024-04-10 08:54:36 423浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《如何附加到结构内的所有字符串值?》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我在 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/ 添加到结构中的每个图像。

是否有一种方法可以解析结构并自动将此字符串附加到所有现有值?


解决方案


使用 gorm afterfind 挂钩。每次从数据库 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
}

查看详情here

今天关于《如何附加到结构内的所有字符串值?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>