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

建筑案例的网站有哪些方面温州哪家做网站

建筑案例的网站有哪些方面,温州哪家做网站,威海网站开发制作,自己的电脑做服务器建立网站的方法目录 1.字段规则2.消息类型的定义与使用1.定义2.使用 3.enum类型1.语法2.定义时注意3.代码 1.字段规则 消息的字段可以⽤下⾯⼏种规则来修饰#xff1a; singular#xff1a;消息中可以包含该字段零次或⼀次(不超过⼀次) proto3语法中#xff0c;字段默认使⽤该规则 repeat… 目录 1.字段规则2.消息类型的定义与使用1.定义2.使用 3.enum类型1.语法2.定义时注意3.代码 1.字段规则 消息的字段可以⽤下⾯⼏种规则来修饰 singular消息中可以包含该字段零次或⼀次(不超过⼀次) proto3语法中字段默认使⽤该规则 repeated消息中可以包含该字段任意多次(包括零次)其中重复值的顺序会被保留 可以理解为定义了⼀个数组 示例表示一个通讯录里有多个人的信息message Contacts {repeated PeopleInfo contacts 1; }2.消息类型的定义与使用 1.定义 在单个.proto⽂件中可以定义多个消息体且⽀持定义嵌套类型的消息(任意多层) 每个消息体中的字段编号可以重复 更新contacts.proto可以将phone_number提取出来单独成为⼀个消息// -------------------------- 嵌套写法 ------------------------- syntax proto3; package contacts;message PeopleInfo {string name 1; int32 age 2; message Phone {string number 1;} } // -------------------------- ⾮嵌套写法 ------------------------ syntax proto3; package contacts;message Phone {string number 1; }message PeopleInfo {string name 1; int32 age 2; }2.使用 消息类型可作为字段类型使用syntax proto3; package contacts;// 联系⼈ message PeopleInfo {string name 1; int32 age 2; message Phone {string number 1; }repeated Phone phone 3; }可导入其他.proto文件的消息并使用import导入syntax proto3; package contacts; import phone.proto; // 使⽤ import 将 phone.proto ⽂件导⼊进来message PeopleInfo {string name 1; int32 age 2; // 引⼊的⽂件声明了package使⽤消息时需要⽤ ‘命名空间.消息类型’ 格式 repeated phone.Phone phone 3; }注意在proto3⽂件中可以导⼊proto2消息类型并使⽤它们反之亦然说明 每个字段都有⼀个clear_⽅法可以将字段重新设置回empty状态每个字段都有设置和获取的⽅法 获取⽅法的⽅法名称与字段命名完全相同 但如果是消息类型的字段其设置⽅法为mutable_⽅法返回值为消息类型的指针这类⽅法会为用户开辟好空间可以直接对这块空间的内容进⾏修改 mutable - 访问和修改消息字段中的嵌套消息 对于使⽤repeated修饰的字段也就是数组类型pb为用户提供 add_⽅法来新增⼀个值_size⽅法来判断数组存放元素的个数 3.enum类型 1.语法 语法enum Type {}注意 0值常量必须存在且要作为第⼀个元素 这是为了与proto2的语义兼容第⼀个元素作为默认值且值为0 枚举类型可以在消息外定义也可以在消息体内定义(嵌套)枚举的常量值在32位整数的范围内 负值⽆效所以不建议使⽤负值 2.定义时注意 将两个具有相同枚举值名称的枚举类型放在单个.proto⽂件下测试时编译后会报错某某某常量已经被定义所以这⾥要注意 同级(同层)的枚举类型各个枚举类型中的常量不能重名enum PhoneType {MP 0;TEL 1; } enum PhoneTypeCopy {MP 0; // ERRORMP 已经定义 }单个.proto⽂件下最外层枚举类型和嵌套枚举类型不算同级enum PhoneTypeCopy {MP 0; // ⽤法正确 }message Phone {string number 1;enum PhoneType {MP 0;TEL 1;} }多个.proto⽂件下若⼀个⽂件引⼊了其他⽂件且每个⽂件都未声明package每个proto⽂件中的枚举类型都在最外层算同级// phone1.proto import phone1.proto enum PhoneType {MP 0; // ERRORMP 已经定义TEL 1; }// phone2.proto enum PhoneTypeCopy {MP 0; }多个.proto⽂件下若⼀个⽂件引⼊了其他⽂件且每个⽂件都声明了package不算同级// phone1.proto import phone1.proto package phone1; enum PhoneType {MP 0; // ⽤法正确TEL 1; }// phone2.proto package phone2; enum PhoneTypeCopy {MP 0; }3.代码 编译生成的CPP代码// 新⽣成的 PeopleInfo_Phone_PhoneType 枚举类 enum PeopleInfo_Phone_PhoneType : int {PeopleInfo_Phone_PhoneType_MP 0,PeopleInfo_Phone_PhoneType_TEL 1,PeopleInfo_Phone_PhoneType_PeopleInfo_Phone_PhoneType_INT_MIN_SENTINEL_DO_NOT_USE_ std::numeric_limitsint32_t::min(),PeopleInfo_Phone_PhoneType_PeopleInfo_Phone_PhoneType_INT_MAX_SENTINEL_DO_NOT_USE_ std::numeric_limitsint32_t::max() };// 更新的 PeopleInfo_Phone 类 class PeopleInfo_Phone final : public ::PROTOBUF_NAMESPACE_ID::Message { public:typedef PeopleInfo_Phone_PhoneType PhoneType;static inline bool PhoneType_IsValid(int value) {return PeopleInfo_Phone_PhoneType_IsValid(value);}templatetypename Tstatic inline const std::string PhoneType_Name(T enum_t_value) {...}static inline bool PhoneType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PhoneType* value) {...}// .contacts.PeopleInfo.Phone.PhoneType type 2;void clear_type();::contacts::PeopleInfo_Phone_PhoneType type() const;void set_type(::contacts::PeopleInfo_Phone_PhoneType value); };上述的代码中 对于在.proto⽂件中定义的枚举类型编译⽣成的代码中会含有 与之对应的枚举类型校验枚举值是否有效的⽅法_IsValid以及获取枚举值名称的⽅法_Name 对于使⽤了枚举类型的字段包含设置和获取字段的⽅法已经清空字段的⽅法clear_
http://www.pierceye.com/news/985514/

相关文章:

  • 河北中石化建设网站html用户登录注册页面代码
  • 如何在网站后台备份数据库表设计本家装
  • 网站开发绑定qq企业域名注册
  • nas做网站网站安全建设工作总结
  • 淮北网站建设费用男女做暖暖到网站
  • wordpress站点管理浙江东南网架公司
  • 做外贸用什么搜索网站企业贷款政策最新消息2022
  • 各大网站创始人株洲网站建设报价方案
  • 想做网站多少钱wordpress数据连接失败1223
  • 株洲建设网站公司个人网站建设简历
  • 地方网站系统wordpress管理入口
  • 个人做网站开发指标开发板是什么东西
  • 国家住房与城乡建设部网站国内比较知名的大型门户网站
  • 网站怎么做音乐播放器大众公司网页设计
  • 网站开发地图导航页面广州公司网站建设公司
  • php网站怎么建设快速搭建网站的工具有哪些
  • 百度做的网站后台怎么更新网站要学什么
  • 做it人经常逛的网站国通快速建站
  • 网站标题会影响吗wordpress改域名修改哪里
  • 做音乐网站需要版权么工业设计图片产品
  • 外包网站问些什么问题浙江省信息港成绩查询
  • 手机网站怎么dw做官方网站下载打印机的驱动
  • 网站被攻击空间关了怎么办网站用的是什么语言
  • 欧亚专线快递查询商丘seo
  • 网站建设跟加入会员哪个效果好网站建设优化开发公司哪家好
  • 网站建设执行力wordpress php解密算法
  • 青岛网站设计皆挺青岛造价人员做兼职的网站
  • 潍坊cms建站系统wordpress 朴素
  • 网站建设方面的课程国外 图片网站
  • 网络哪里能接活做网站新浦网站制作网站建设