如何在Golang中实现导出字段的setter?

时间:2017-07-11 05:09:01

标签: go struct go-gorm

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

type myType struct {
  Id int
  Name string
}

但是,如何处理结构字段的附加逻辑。让我们说,如果我想将Mr加到Name字段前后该怎么办?客户端始终可以myType.Name = "whatever"。如果我将Name设为未导出并为其设置,则该字段将永远不会与gorm一起使用。任何golang方式来处理这个?

1 个答案:

答案 0 :(得分:1)

您对未使用方法的理解是正确的。

您的Release字段必须导出,只有.nav-links .navbar-inverse { background-color: transparent; } 才能访问它。那是Go方式。

所以你有两个选择。

选项1:利用gorm回调AfterFind。基本上你的结构必须实现这个回调。找到后您必须更新字段struct

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