【工具篇】手把手教你自定义protobuf 标签
本文探讨了protoc生成的pb.go文件中json标签的问题:omitempty导致零值(如0)字段在JSON转换时被忽略,且难以添加其他标签(如form)。提出两种解决方案:一是修改protoc-gen-go源码,通过调整生成方法注入自定义标签;二是使用第三方库protoc-go-inject-tag,在proto文件中添加@gotags注释(如`// @gotags: json:"community_id" form:"community_id"`),再运行工具注入标签。推荐第二种方案,因其侵入性小、操作便捷,无需修改源码即可高效解决标签定制需求。

