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