@@ -22,6 +22,9 @@ type mapperObject struct {
2222 enabledMapperTag bool
2323 enabledJsonTag bool
2424
25+ enabledCustomTag bool
26+ customTagName string
27+
2528 // in the version < 0.7.8, we use field name as the key when mapping structs if field tag is "-"
2629 // from 0.7.8, we add switch enableIgnoreFieldTag which is false in default
2730 // if caller enable this flag, the field will be ignored in the mapping process
@@ -40,6 +43,7 @@ func NewMapper() IMapper {
4043 enabledAutoTypeConvert : true ,
4144 enabledMapperTag : true ,
4245 enabledJsonTag : true ,
46+ enabledCustomTag : false ,
4347 enableFieldIgnoreTag : false , // 保留老版本默认行为:对于tag = “-”的字段使用FieldName
4448 }
4549 dm .useWrapper (dm .DefaultTimeWrapper )
@@ -130,6 +134,7 @@ func (dm *mapperObject) IsEnabledTypeChecking() bool {
130134// default is true
131135func (dm * mapperObject ) SetEnabledMapperTag (isEnabled bool ) {
132136 dm .enabledMapperTag = isEnabled
137+ dm .cleanRegisterValue ()
133138}
134139
135140func (dm * mapperObject ) IsEnabledMapperTag () bool {
@@ -141,6 +146,7 @@ func (dm *mapperObject) IsEnabledMapperTag() bool {
141146// default is true
142147func (dm * mapperObject ) SetEnabledJsonTag (isEnabled bool ) {
143148 dm .enabledJsonTag = isEnabled
149+ dm .cleanRegisterValue ()
144150}
145151
146152func (dm * mapperObject ) IsEnabledJsonTag () bool {
@@ -172,6 +178,23 @@ func (dm *mapperObject) IsEnabledMapperStructField() bool {
172178 return dm .enabledMapperStructField
173179}
174180
181+ // SetEnabledCustomTag set enabled flag for set custom tag name
182+ // if set true and set customTagName, the custom tag will be check during mapping's GetFieldName
183+ // default is false
184+ func (dm * mapperObject ) SetEnabledCustomTag (isEnabled bool ) {
185+ dm .enabledCustomTag = isEnabled
186+ dm .cleanRegisterValue ()
187+ }
188+
189+ func (dm * mapperObject ) IsEnabledCustomTag () bool {
190+ return dm .enabledCustomTag
191+ }
192+
193+ // SetCustomTagName
194+ func (dm * mapperObject ) SetCustomTagName (tagName string ) {
195+ dm .customTagName = tagName
196+ }
197+
175198// SetEnableFieldIgnoreTag set the enabled flag for the ignored tag
176199// in the version < 0.7.8, we use field name as the key when mapping structs if field tag is "-"
177200// from 0.7.8, we add switch enableFieldIgnoreTag which is false in default
0 commit comments