首页 > 其他分享 >Protobuf语法

Protobuf语法

时间:2023-10-11 09:33:20浏览次数:28  
标签:protoc Protobuf -- 语法 grpc 编译器 go protobuf

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

 

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

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

 

 

 

 

 

 

 

 

标签:protoc,Protobuf,--,语法,grpc,编译器,go,protobuf
From: https://www.cnblogs.com/xingxia/p/protobuf.html

相关文章

  • C#基本语法
    基本语法//Seehttps://aka.ms/new-console-templateformoreinformation//HelloWorldConsole.WriteLine("Hello,World!");//declarevariableintx=0;//expressionx=x+1;x=0;//functioncallinglogStringNTimes(x.ToString(),x);//fun......
  • Day17 装饰介绍_装饰器的视线思路_语法糖的使用_装饰器模版_时间装饰器_登录装饰器
    1.储备知识_args_kwargs_名称空间作用域_函数对象: 2.储备知识_函数的嵌套定义_闭包函数: 3.储备知识_传参的方式一_传参的方式二: 4.装饰器的介绍: 5.装饰器实现思路,解决方案一: 6.装饰器实现思路,解决方案二: 7.装饰器实现思路,解决方案三: 8.装饰器实现思路,解决方......
  • MarkDown编辑器常用语法
    1、字体、字号与颜色<fontface="黑体">我是黑体字</font><fontface="微软雅黑">我是微软雅黑</font><fontface="STCAIYUN">我是华文彩云</font><fontcolor=#0099ffsize=7face="黑体">color=#0099ffsize=72face=&q......
  • Shell子串_变量子串的语法介绍
    变量子串的语法介绍name="Mrxujbing" #该变量的值,有索引是从0,1,2,3,4...${变量} 返回变量值${#name} 返回变量长度${变量:start} 返回变量start数值之后的字符串,且包含start的数字(start值就是索引值)${变量:start:length} 提取start之后的length限制的字符,例......
  • 7、Python语法入门之流程控制
    7、Python语法入门之流程控制转载: 7、Python语法入门之流程控制-知乎(zhihu.com)目录:引子分支结构什么是分支结构为什么要用分支结构如何使用分支结构if语法if应用案例循环结构什么是循环结构为什么要用循环结构如何使用循环结构while循环语......
  • markdown语法
    推荐使用软件:typora#一级标题###二级标题#####三级标题###**加粗***斜体*~~删除线~~>引用别人的文章,用大于号就行---分割线***分割线图片                        ![截图]()               ......
  • 【webapp】jsp EL 的基本语法和用法
    EL(表达式语言)是用于在JSP页面中访问和操作数据的简洁表达式语言。EL提供了一种简化和统一的方式来访问变量、属性、集合和其他对象。以下是EL的基本语法和用法:基本语法:${expression}:用于在JSP页面中嵌入EL表达式。${object.property}:访问对象的属性。${map.key}:访......
  • Redis 基础语法
    Redis五种常见数据类型Redis存储的是key-value结构的数据,其中key是字符串类型,value有五种常见的数据类型:1.字符串string(普通字符串,Redis中最简单的数据类型)2.哈希hash(也叫散列,类似于java中的HashMap结构)3.列表list(按照插入顺序排序,可以有重复元素,类似于java中的LinkedLis......
  • Protobuf在Hadoop RPC中的应用
    ......
  • Markdown语法
    Markdown语法标题#一级标题##二级标题###三级标题####四级标题#####五级标题######六级标题字体**粗体***斜体****斜粗体***~~删除线~~引用>分割线---图片![图片](本地地址网络地址都可以)超链接点击跳转[点击跳转](链接地址)有序列表-无顺......