如果用 tag,每个字段都要重写一遍,太麻烦了 有没有默认就是小写的方式
如果用 tag,每个字段都要重写一遍,太麻烦了 有没有默认就是小写的方式
|
6IbA2bj5ip3tK49jApr 30, 2019
1
没有,脑子一拍,要省去 private 和 public,替开发人员减轻思维负担。
|
|
sunjourneyApr 30, 2019
2
code gen
用自制 DSL 写 go 是基本操作哈 |
|
sunjourneyApr 30, 2019
3
提供一个思路。套一个接口输出的中间,先用 JSON parse 成 map,替换 key,序列化。
|
|
4
@sunjourney #3
这也太麻烦了,还不如直接写 tag |
|
5
|
|
sunjourneyApr 30, 2019
6
@ahmcsxcc #4 找轮子啊,应该有现成的 json encoder 吧,换掉内建的
|
|
feeeeiApr 30, 2019
7
|
|
hashApr 30, 2019
8
没有,估计 Google 内部工具链很全,这种模板代码都是机器生成而不是人来写.
|
|
faceairApr 30, 2019
10
用 jsoniter 的 NamingStrategy 插件
示例 https://github.com/json-iterator/go/blob/0ff49de124c6f76f8494e194af75bde0f1a49a29/extra/naming_strategy_test.go#L27 |
|
11
|
|
WilliamYangApr 30, 2019
12
其实 Goland 里搜索插件, 有添加 tags 的插件的, 可以是 snake_case 或 camelCase
|
|
13
@WilliamYang #12
这还是用 tag 啊 |
|
zzzzzzzzzpApr 30, 2019
14
https://github.com/fatih/gomodifytags 这个挺好使的,vim 和 vscode 都用的这个
|
|
15
@zzzzzzzzzp #14
哥啊,这还是用 tag |
|
auinApr 30, 2019
16
我也觉得自定义 DSL 是用 Go 的基本技能,不少框架都有,说简单点就是 Code Generator
|