protoc命令

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

上一篇:通过 layout 探索 kratos 运行原理


下一篇:14.函数中的prototype属性和__proto__属性