当前位置: 首页 > news >正文

一般纳税人网站建设多少税率花生壳做网站是否稳定

一般纳税人网站建设多少税率,花生壳做网站是否稳定,外吐司做的阿里巴巴的网站,云南企业网站建设有限公司Protocol Buffers Protocol Buffers #xff0c;协议缓冲区。什么是Protocol Buffers呢#xff1f;或者我们简称PB 吧。那么Protocol Buffers 是一种与语言无关、与平台无关的可扩展机制#xff0c;用于序列化结构化的数据。 example message Person {optional string nam…Protocol Buffers Protocol Buffers 协议缓冲区。什么是Protocol Buffers呢或者我们简称PB 吧。那么Protocol Buffers 是一种与语言无关、与平台无关的可扩展机制用于序列化结构化的数据。 example message Person {optional string name 1;optional int 32 id 2;optional string email 3; }自定义一个协议 Person john Person.newBuilder().setId(1234).setName(John Doe).setEmail(jdoeexample.com).build(); output new FileOutputStream(args[0]); john.writeTo(output);Person john Person.newBuilder().setId(1234).setName(John Doe).setEmail(jdoeexample.com).build(); output new FileOutputStream(args[0]); john.writeTo(output);使用生成的类持久化数据 什么是Protocol Buffers ? 协议缓冲区是谷歌的语言中立、平台中立、可扩展的机制用于序列化结构化数据。比如xml,但是相比较xml 更小更快更简洁。您可以定义一次数据的结构化方式然后可以使用特殊生成的源代码使用各种语言轻松地将结构化数据写入各种数据流和从各种数据流中读取结构化的数据。 支持的语言 协议缓冲区目前支持java、python、objective-c 和c 中生成的代码。有了我们新的proto3语言版本还可以使用Kotlin、Dart、Go、Ruby、PHP和C#,以及更多的语言。 怎么工作 1、下载按照pb协议缓冲区 编译器 2、阅读概要 3、试试你选择的语言教程 Proto 2 This guide describes how to use the protocol buffer language to structure your protocol buffer data,including .proto file syntax and how to generate data access classes from your .proto files.It covers the proto2 version of the protocol buffers language:for infomation on proto3 syntax,see the Proto3 Language Guide. 本指南介绍了如何使用协议缓冲区语言来构建协议缓冲区数据包括.proto文件语法以及如何从.proto文件生成数据访问类。它涵盖了proto2版本的协议缓冲语言有关proto3语法的信息请参阅proto3语言指南。 定义一个消息类型 message SearchRequest {required string query 1;optional int32 page_number 2;optional int32 result_per_page 3; }指定字段类型 在上面的示例中所有字段都是标量类型两个整数page_number和result_per_page和一个字符串query。您也可以像为字段指定其他消息类型一样指定枚举和复合类型 指定字段编号 消息定义中的每个字段都有一个唯一的数字。这些数字用于标识消息二进制格式的字段一旦使用消息类型就不应该更改这些数字。范围为1到15的字段号需要一个字节进行编码包括字段号和字段类型您可以在协议缓冲区编码中找到更多信息。16到2047范围内的字段编号占用两个字节。因此您可以为频繁出现的消息元素保留字段编号1到15.请记住为将来可能添加的频繁出现的元素留出一些空间。 您可以指定的最小字段号为1最大字段号为229-1或536870911。您也不能使用数字19000到19999FieldDescriptor:kFirstReservedNumber到FieldDescriptorkLastReservedNumber因为它们是为协议缓冲区实现保留的-如果您在.proto中使用这些保留数字中的一个协议缓冲区编译器会抱怨。同样您不能使用任何以前保留的字段数字 指定字段规则 您可以指定消息字段是以下字段之一 必需一个格式良好的消息必须恰好包含其中一个字段。 可选格式良好的消息可以有零个或一个此字段但不能超过一个。 repeated此字段可以在格式良好的消息中重复任意次数包括零次。重复值的顺序将被保留。 由于历史原因标量数字类型的重复字段例如int32、int64、enum的编码效率不如预期。新代码应该使用特殊选项[packedtrue]来获得更高效的编码。例如 repeated int32 samples 4 [packed true]; repeated ProtoEnum results 5 [packed true];You can find out more about packed encoding in Protocol Buffer Encoding. Important Required Is Forever You should be very careful about marking fields as required. If at some point you wish to stop writing or sending a required field, it will be problematic to change the field to an optional field – old readers will consider messages without this field to be incomplete and may reject or drop them unintentionally. You should consider writing application-specific custom validation routines for your buffers instead. A second issue with required fields appears when someone adds a value to an enum. In this case, the unrecognized enum value is treated as if it were missing, which also causes the required value check to fail 添加更多的消息类型 在一个.proto文件中可以定义多个消息类型。如果您正在定义多个相关消息这很有用例如如果您想定义与SearchResponse消息类型相对应的回复消息格式可以将其添加到相同的格式中。proto message SearchRequest {required string query 1;optional int32 page_number 2;optional int32 result_per_page 3; }message SearchResponse {... }组合消息会导致膨胀虽然可以在单个.proto文件中定义多个消息类型如消息、枚举和服务但当在单个文件中定义大量具有不同依赖关系的消息时也会导致依赖关系膨胀。建议每个.proto文件包含尽可能少的消息类型 添加注释 To add comments to your .proto files, use C/C±style // and /* … */ syntax. /* SearchRequest represents a search query, with pagination options to* indicate which results to include in the response. */message SearchRequest {required string query 1;optional int32 page_number 2; // Which page number do we want?optional int32 result_per_page 3; // Number of results to return per page. }// 单行 /**/多行 保留字段 如果通过完全删除字段或注释掉字段来更新消息类型则未来的用户可以在对该类型进行自己的更新时重用字段号。如果他们以后加载相同.proto的旧版本包括数据损坏、隐私漏洞等这可能会导致严重问题。确保这种情况不会发生的一种方法是指定已删除字段的字段号和/或名称这也可能导致JSON序列化问题是保留的。如果将来有用户试图使用这些字段标识符协议缓冲区编译器将发出抱怨。 message Foo {reserved 2, 15, 9 to 11;reserved foo, bar; }保留字段编号范围包括在内9到11与9、10、11相同。请注意不能在同一保留语句中混用字段名和字段号 What’s Generated From Your .proto? 当你在.proto上运行协议缓冲区编译器时编译器会用你选择的语言生成代码你需要使用文件中描述的消息类型包括获取和设置字段值将消息序列化到输出流以及从输入流解析消息。 对于C编译器从每个.proto生成一个.h和.cc文件文件中描述的每个消息类型都有一个类。 对于Java编译器为每种消息类型生成一个.Java文件其中包含一个类以及用于创建消息类实例的特殊Builder类。 Python有点不同——Python编译器生成一个模块其中包含.proto中每个消息类型的静态描述符然后与元类一起使用以在运行时创建必要的Python数据访问类。 对于Go编译器会生成一个.pb.Go文件其中包含文件中每个消息类型的类型 可选字段和默认值 如上所述消息描述中的元素可以标记为可选。格式良好的消息可以包含也可以不包含可选元素。解析消息时如果消息不包含可选元素则访问解析对象中的相应字段将返回该字段的默认值。默认值可以指定为消息描述的一部分。例如假设您希望为SearchRequest的result_per_page值提供默认值10。 optional int32 result_per_page 3 [default 10];如果没有为可选元素指定默认值则使用特定类型的默认值对于字符串默认值为空字符串。对于字节默认值为空字节字符串。对于bools默认值为false。对于数字类型默认值为零。对于枚举默认值是枚举的类型定义中列出的第一个值。这意味着在向枚举值列表的开头添加值时必须小心。有关如何安全更改定义的指导方针请参阅“更新消息类型”部分
http://www.hkea.cn/news/14371429/

相关文章:

  • 如何做好营销型网站建设东莞横沥地图
  • 佛山网站商城建设标识设计公司网站
  • 影楼微网站建设方案外贸网站推广方法
  • 全flash网站下载全国行业名录搜索系统官网
  • 富阳网站建设洛洛科技内网门户网站 建设方案
  • 自己怎样做网站平台微网站 尺寸
  • 网站建设做网站需要多少钱北京建设网站 公司
  • 注册公司在哪个网站什么是域名系统 网站建设教程
  • 上海微网站建设wordpress模板添加授权
  • 创业公司做网站安卓系统软件开发培训机构
  • 东圃网站建设搜索引擎优化的分类
  • 如何制作网站首页google ads
  • 网站宣传有文化事业建设费吗小网站推广
  • 西安优秀的集团门户网站建设服务商东莞百度seo地址
  • 需要证书的建筑公司网站外贸有限公司英文网站
  • 招聘去建设网站类网站教育行业网站制作
  • 宏福建设集团有限公司网站怎样才可以知道网站是否优化
  • 海南房产网站制作怎么开个网站
  • 淄博桓台学校网站建设定制响应式网站排名如何
  • 微商网站开发合同建设银行网站连不上
  • 家居seo整站优化方案做类似淘宝网站怎么做
  • 用php做的订票网站应用商城app开发
  • 做网站是什么专业郑州seo技术博客
  • 学做网站的笔记本wordpress显示分类文章列表
  • 广西网站设计公司排行榜蚌埠seo外包
  • 网站地图seo综合查询网站
  • 悠悠我心的个人网站素材春考网站建设
  • 湘潭自适应网站建设 磐石网络上海网络推广外包公司
  • wordpress 网站上传到服务器长清区seo网络优化软件
  • 广州集团网站建设在北京做网站制作一个月多少钱