安装
1 2 3 4 5 6 7 8 9 10 11
| https://github.com/protocolbuffers/protobuf/releases/tag/v3.11.2
go install code.google.com/p/goprotobuf/proto go install code.google.com/p/goprotobuf/protoc-gen-go
D:\self\goserver\bin
|
构建exe
1 2 3
| # protoc-gen-go # 进入到protoc-gen-go 目录,执行命令 go build ./main.go https://github.com/golang/protobuf
|
调整
去掉默认值不序列化
找到table_marshal.go,修改nozero变量为false
1 2 3 4 5 6 7 8 9 10 11 12 13
| func (fi *marshalFieldInfo) setMarshaler(f *reflect.StructField, tags []string) { switch f.Type.Kind() { case reflect.Map: fi.isPointer = true fi.sizer, fi.marshaler = makeMapMarshaler(f) return case reflect.Ptr, reflect.Slice: fi.isPointer = true } fi.sizer, fi.marshaler = typeMarshaler(f.Type, tags, false, false) }
|