【解决一个小问题】proto文件中的enum,去掉长长的重复的enum名字 |
您所在的位置:网站首页 › 前缀proto › 【解决一个小问题】proto文件中的enum,去掉长长的重复的enum名字 |
在proto中定义的enum,通常类型名字都会带上enum的前缀,很丑陋,如何去掉呢? enum DataSourceType{ NotUse = 0; MySQL = 1; ElasticSearch = 2; }生成后的代码如下: const ( DataSourceType_NotUse DataSourceType = 0 DataSourceType_MySQL DataSourceType = 1 DataSourceType_ElasticSearch DataSourceType = 2 )这个前缀如何去掉呢?使用gogo proto的扩展语法就可以了: import "github.com/gogo/protobuf/gogoproto/gogo.proto"; enum DataSourceType{ option (gogoproto.goproto_enum_prefix)=false; // 用这个选项去掉前缀 NotUse = 0; MySQL = 1; ElasticSearch = 2; }执行protoc,指定gogo proto的代码目录: # 把gogo proto的代码放在了这个目录 /Users/ahfuzhang/code/github.com/gogo/protobuf/ protoc -I=. -I=/Users/ahfuzhang/code/ --gogofaster_out=plugins=grpc:. *.proto最终生成的代码: type DataSourceType int32 const ( NotUse DataSourceType = 0 MySQL DataSourceType = 1 ElasticSearch DataSourceType = 2 )have fun 😃 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |