Protobuf语法

发布时间 2023-10-11 09:30:38作者: X-Wolf

Protocol Buffers(protobuf)是一种语言无关,平台无关,可扩展的用于序列化结构化数据的方式——类似XML,但比XML更灵活,更高效。

 

使用protobuf语法编写xxx.proto文件,然后将其编译成可供特定语言识别和使用的代码文件,供程序调用,这是protobuf的基本工作原理。

以Go语言为例,使用官方提供的编译器会将xxx.proto文件编译成xxx.pb.go文件——一个普通的go代码文件。
要使用protobuf,首先我们需要下载protobuf编译器——protoc,但Go语言并没有被编译器直接支持,而是通过插件的方式被编译器引用,所以同时我们还需要下载Go语言的编译插件:

go语言编译插件: 
go install google.golang.org/protobuf/cmd/protoc-gen-go

 

 

 

常用命令:

protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative helloworld/helloworld.proto

生成基于go语言的*.pb.go文件

  --go_out

  --go_opt

生成grpc文件

  --go-grpc_out:

  --go_grpc_opt: