Probuf的定义
安装一个插件: vscode-proto3
hello.proto ---> 怎么生成一个Go语言的对象?依赖于一个protoc编译器
protoc是c++写的一个cli工具, 用于辅助开发的, 帮你生产Go代码
protobuf 的编译: 生成数据结构
hello.proto ---> protoc ---> go语言的代码
libprotoc 3.21.12
编译
$ cd protobuf ## 以protobuf作为编译的工作目录
// option go_package="gitee.com/go-course/go11/skill/rpc/protobuf/pb";
// pb/hello.pb.go ---> pb已存在,就不创建 直接把生成的文件放到 pb下面
$ protoc -I=. --go_out=. --go_opt=module="gitee.com/go-course/go11/skill/rpc/protobuf" pb/hello.proto
any类型
$ cd protobuf ## 以protobuf作为编译的工作目录
// option go_package="gitee.com/go-course/go11/skill/rpc/protobuf/pb";
// pb/hello.pb.go ---> pb已存在,就不创建 直接把生成的文件放到 pb下面
$ protoc -I=. -I=/usr/local/include --go_out=. --go_opt=module="gitee.com/go-course/go11/skill/rpc/protobuf" pb/hello.proto
// model.go <--- protoc-gen-go ------> blog.pb.go
// interface.go <---- gprc-gen-go-grpc ----> blog_grpc.pb.go