protobuf是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,能够允许定义数据结构和消息格式,可以在不同平台和语言之间传输和存储结构化数据。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。
语法
简单使用
目录下创建idl文件夹存储proto文件。创建一个名为hello.proto的文件,文件代码如下。
option go_package必须指定:
syntax = "proto3";
package hello;
option go_package = "hello";
message Say{
int64 id = 1;
string hello = 2;
repeated string word = 3;
}
使用kitex -module TESTPROTO -type protobuf -I idl/ idl/hello.proto命令生成代码。
并使用go mod tidy生成依赖。
生成后目录如下
如果proto文件中有service块,例如有名为HelloService的service,则可用kitex -module TESTPROTO -type protobuf -service sayhello -I idl/ idl/hello.proto命令生成代码。生成后目录如下
然后在handler.go中写我们的实现代码就行。