1.生成proto文件
protoc --proto_path=.:$GOPATH/src --go_out=. --micro_out=. proto/foobar/foobar.proto
// 生成protoc 文档
(1.)下载protoc-gen-doc二进制到/usr/local/bin目录
go get -u github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc
(2.)生成proto文件时加入下面的参数
--doc_out=./doc --doc_opt=html,index.html
protoc --doc_out=. --doc_opt=html,index.html protos/*.proto
protoc --proto_path=.:$GOPATH/src --go_out=. --micro_out=. --doc_out=./doc --doc_opt=html,index.html proto/foobar/foobar.proto
2.单元测试覆盖
go test ./... --cover --count=2
proto 参数校验
1.下载插件
go get github.com/favadi/protoc-go-inject-tag
2.proto文件中写注释
// file: test.proto
syntax = "proto3";
package pb;
message IP {
// @inject_tag: valid:"ip"
string Address = 1;
}
3.生成文件
protoc --go_out=. test.proto
protoc-go-inject-tag -input=./test.pb.go
相关链接
https://github.com/favadi/protoc-go-inject-tag
https://www.kaifa99.com/GitHub/article_142142
https://studygolang.com/articles/28563