请问大家在项目中是如何完成结构体之间的转换的,如: DTO ---> VO

2022-01-07 11:15:23 +08:00
 Morii

之前用 java 的时候是通过 mapStruct 做的,不知道 golang 有什么轻松地方式?

4574 次点击
所在节点    Go 编程语言
30 条回复
Kontinue
2022-01-07 16:54:50 +08:00
BeanUtils + 特殊的手动赋值
fzls
2022-01-07 17:56:52 +08:00
@hingbong copilot 做这种事真的完美
sifeizhai2020
2022-01-07 18:32:12 +08:00
@Kontinue BeanUtils + 特殊的手动赋值 + 1
itechnology
2022-01-07 18:33:18 +08:00
手动 set 比较好,不然万一出错了,你找起来会比较麻烦
tqccc
2022-01-07 20:12:56 +08:00
目前手里是十年左右的屎山和屎表,用手动 set ,手动 set 感觉方便查问题
WoodenTea
2022-01-07 21:05:56 +08:00
为什么你们喜欢把结构体变来变去? DTO, VO 我感觉就是一个概念而已呀
xuanbg
2022-01-08 08:13:35 +08:00
我用万能的序列化 /反序列化来实现一个 convert 泛型方法,可以把任何对象转换为你指定的类型。至于转换的结果嘛,只要字段对的上就能转,对不上的就会丢掉。
lqw3030
2022-01-08 09:58:17 +08:00
@WoodenTea 万一把 xxx_password 字段序列化返回给视图,就不一样了
WoodenTea
2022-01-08 11:02:46 +08:00
@lqw3030 序列化的时候可以指定 ignore 字段
lqw3030
2022-01-09 10:37:42 +08:00
@WoodenTea 根源性避免这类风险

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/826769

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX