当前位置:网站首页>rotoc-gen-go: unable to determine Go import path for **.proto
rotoc-gen-go: unable to determine Go import path for **.proto
2022-07-17 00:08:00 【祥仔先生】
Please specify either:
• a "go_package" option in the .proto source file, or
• a "M" argument on the command line.
在编译proto文件的时候,protoc --go_out=. *.proto,出现上面的命令可能是我们的包名的位置不对,这里我们需要在.proto文件中增加对应的go_package参数来告诉对应的package位置
syntax = "proto2";
package example;
option go_package = "./example";
message Order{
required int32 order_id = 1; //1代表字段顺序
optional int64 num = 2;
optional string timestamp = 3;
optional string basce = 4 [default = 'beijing'];
}proto文件介绍:
Order消息格式有3个字段,在消息中承载的数据分别对应每一个字段。其中每个字段都有一个名字和一种类型。
指定字段类型:在proto协议中,字段的类型包括字符串(string)、整形(int32、int64...)、枚举(enum)等数据类型
分配标识符:在消息字段中,每个字段都有唯一的一个标识符。最小的标识号可以从1开始,最大到536870911。不可以使用其中的[19000-19999]的标识号, Protobuf协议实现中对这些进行了预留。如果非要在.proto文件中使用这些预留标识号,编译时就会报警。
指定字段规则:字段的修饰符包含三种类型,分别是:
required:一个格式良好的消息一定要含有1个这种字段。表示该值是必须要设置的;
optional:消息格式中该字段可以有0个或1个值(不超过1个)。
repeated:在一个格式良好的消息中,这种字段可以重复任意多次(包括0次)。重复的值的顺序会被保留。表示该值可以重复,相当于Go中的slice。
【注意:】使用required弊多于利;在实际开发中更应该使用optional和repeated而不是required。
添加更多消息类型 在同一个.proto文件中,可以定义多个消息类型。多个消息类型分开定义即可。
边栏推荐
猜你喜欢
随机推荐
我已经妥协了 大家既然都要叫我yelin 那我也没办法了
Redis suddenly slowed down?
ES6 syntax -- Deconstruction assignment
nft发行价格是多少(解读NFT建立起NFT世界观)
2022.7.7 summary of some errors
MapReduce environment preparation
04-BTC-实现
数据资产为王,如何解析企业数字化转型与数据资产管理的关系?
wkwebview白屏
03 BTC agreement
10 完成一半题目
12 至少是其他数字两倍的最大数
Modifier of v-on
MapReduce环境准备
基于开源流批一体数据同步引擎ChunJun数据还原—DDL解析模块的实战分享
What is the QS module?
蛟分承影,雁落忘归——袋鼠云一站式全自动化运维管家ChengYing(承影)正式开源
4 搜索插入位置
AXS is popular. What other gold games are there (Part 1)
Introduction to software vulnerability analysis (III)









