Go 在戈兰如何实现输出字段的setter?

Go 在戈兰如何实现输出字段的setter?,go,struct,go-gorm,Go,Struct,Go Gorm,我使用的是gormlib,要使用该lib,我必须导出所有列字段。像这样的 type myType struct { Id int Name string } 但是有了它,我如何处理结构字段的加法逻辑。比如说,如果我想在Name字段前面加Mr,该怎么办?客户端始终可以执行myType.Name=“任意”。如果我将Name设为未报告,并为其设置setter,则该字段将永远无法与gorm一起使用。有什么办法可以解决这个问题吗?您对未报告字段和方法的理解是正确的 您的struct字段必须导出,

我使用的是
gorm
lib,要使用该lib,我必须导出所有列字段。像这样的

type myType struct {
  Id int
  Name string
}

但是有了它,我如何处理结构字段的加法逻辑。比如说,如果我想在
Name
字段前面加
Mr
,该怎么办?客户端始终可以执行
myType.Name=“任意”
。如果我将
Name
设为未报告,并为其设置setter,则该字段将永远无法与
gorm
一起使用。有什么办法可以解决这个问题吗?

您对未报告字段和方法的理解是正确的

您的
struct
字段必须导出,然后只有
gorm
才能访问它。这就是我们的方式

所以你有两个选择

选项1:利用gorm回调。基本上,您的结构必须实现这个回调。查找后,必须更新字段
名称

选项2:作为数据获取方法的一部分实现。在返回给调用者之前,更新字段
Name