kitex入门(二)|青训营

86 阅读1分钟

protobuf是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,能够允许定义数据结构和消息格式,可以在不同平台和语言之间传输和存储结构化数据。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

语法

image.png

具体介绍见juejin.cn/post/719100…

简单使用

目录下创建idl文件夹存储proto文件。创建一个名为hello.proto的文件,文件代码如下。

image.png

option go_package必须指定: image.png

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命令生成代码。

image.png

并使用go mod tidy生成依赖。

image.png

生成后目录如下

image.png

如果proto文件中有service块,例如有名为HelloService的service,则可用kitex -module TESTPROTO -type protobuf -service sayhello -I idl/ idl/hello.proto命令生成代码。生成后目录如下

image.png

然后在handler.go中写我们的实现代码就行。