之前用 java 的时候是通过 mapStruct 做的,不知道 golang 有什么轻松地方式?
1
stevenbipt 2022-01-07 11:44:20 +08:00
有一些赋值的轮子,类似这个:https://github.com/zywaited/xcopy,好像 go-zero 也提供了这种拷贝的库
|
2
me221 2022-01-07 11:51:40 +08:00
蹲一个 java 中有什么轻松的方式
|
4
xlsepiphone 2022-01-07 12:25:53 +08:00
Java:
如果轻度使用=> HuTool 重度使用=>ModelMapper |
5
dqzcwxb 2022-01-07 12:27:05 +08:00
手动 set 性能最高
|
6
masterclock 2022-01-07 12:33:42 +08:00
用 protobuf 比较多,考虑过写个插件自动生产点转换代码,后来用上 GitHub copilot 后感觉没有需求了,copilot 基本能自动生成转换函数。
|
7
kosgug 2022-01-07 12:34:55 +08:00 via iPhone
|
8
kid8768611 2022-01-07 14:32:17 +08:00
蹲一个 java 中有什么轻松的方式
|
9
Chinsung 2022-01-07 14:39:54 +08:00
以前用 BeanUtils ,现在手动 set 。
复杂业务多层转换之后,你不手动,全是这种转换,真的很难知道哪些字段有值哪些字段没值 |
10
silentsky 2022-01-07 15:28:22 +08:00
手动 set 比较好,当你改了某些属性,编译会给你报错提示,BeanUtils 那些你无法感知到,后期维护痛苦
|
11
HENQIGUAI 2022-01-07 15:39:52 +08:00
手写 Converter..
|
12
alen0206 2022-01-07 15:49:43 +08:00
MapStruct
|
13
2i2Re2PLMaDnghL 2022-01-07 15:53:51 +08:00
来点邪道的:代码生成
|
14
leafre 2022-01-07 16:18:44 +08:00 via Android
mapstruct
|
15
cocoabeans 2022-01-07 16:21:21 +08:00
MapStruct + 1 +1
|
16
yjll9102 2022-01-07 16:22:20 +08:00
MapStruct + 1 +1 +1
|
17
www5070504 2022-01-07 16:39:51 +08:00
|
18
Dkngit 2022-01-07 16:46:32 +08:00
以前用 BeanUtils ,现在手动 set 。
|
19
xianyv 2022-01-07 16:50:25 +08:00
以前用 BeanUtils,现在还在用 BeanUtils,只是有的时候改字段后会少赋值
|
20
hingbong 2022-01-07 16:54:21 +08:00
当然是 copilot 生成啊,都不会写代码了现在
|
21
Kontinue 2022-01-07 16:54:50 +08:00
BeanUtils + 特殊的手动赋值
|
23
sifeizhai2020 2022-01-07 18:32:12 +08:00
@Kontinue BeanUtils + 特殊的手动赋值 + 1
|
24
itechnology 2022-01-07 18:33:18 +08:00
手动 set 比较好,不然万一出错了,你找起来会比较麻烦
|
25
tqccc 2022-01-07 20:12:56 +08:00 via Android
目前手里是十年左右的屎山和屎表,用手动 set ,手动 set 感觉方便查问题
|
26
WoodenTea 2022-01-07 21:05:56 +08:00 2
为什么你们喜欢把结构体变来变去? DTO, VO 我感觉就是一个概念而已呀
|
27
xuanbg 2022-01-08 08:13:35 +08:00
我用万能的序列化 /反序列化来实现一个 convert 泛型方法,可以把任何对象转换为你指定的类型。至于转换的结果嘛,只要字段对的上就能转,对不上的就会丢掉。
|