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

网站手机端排名怎么做用笔记本做网站

网站手机端排名怎么做,用笔记本做网站,企业文化建设,可以查企业信息的软件文章题目来自#xff1a;https://practice-zh.course.rs/pattern-match/patterns.html 1 #x1f31f;#x1f31f; 使用 | 可以匹配多个值, 而使用 … 可以匹配一个闭区间的数值序列 fn main() {} fn match_number(n: i32) {match n {// 匹配一个单独的值1 println!(…文章题目来自https://practice-zh.course.rs/pattern-match/patterns.html 1 使用 | 可以匹配多个值, 而使用 … 可以匹配一个闭区间的数值序列 fn main() {} fn match_number(n: i32) {match n {// 匹配一个单独的值1 println!(One!),// 使用 | 填空不要使用 .. 或 ..__ println!(match 2 - 5),// 匹配一个闭区间的数值序列6..10 {println!(match 6 - 10)},_ {println!(match 11 - infinite)}} }将前面学到的模式匹配进行集合就可以了 fn match_number(n: i32) {match n {// 匹配一个单独的值1 println!(One!),// 使用 | 填空不要使用 .. 或 ..2 | 3 | 4 | 5 println!(match 2 - 5),// 匹配一个闭区间的数值序列6..10 {println!(match 6 - 10)}others {println!(match 11 - infinite)}} }2 操作符可以让我们将一个与模式相匹配的值绑定到新的变量上 struct Point {x: i32,y: i32, }fn main() {// 填空让 p 匹配第二个分支let p Point { x: __, y: __ };match p {Point { x, y: 0 } println!(On the x axis at {}, x),// 第二个分支Point { x: 0..5, y: y (10 | 20 | 30) } println!(On the y axis at {}, y),Point { x, y } println!(On neither axis: ({}, {}), x, y),} }这里的语法可能会让有些人非常疑惑明明x和y就在这里为什么我要再给y绑定一个变量如果你直接编译上述代码我指的是修改了p的赋值之后你会遇到如下错误 将y改成p.y就可以了。 我们先考虑另外一个场景 fn age() - u32 {15 }fn main() {println!(Tell me what type of person you are);match age() {0 println!(I havent celebrated my first birthday yet),1..12 println!(Im a child of age 1..12),13..19 println!(Im a teen of age 13..19),_ println!(Im an old person of age others),} }一个典型的根据年龄匹配打印的函数那如果我希望将被匹配的值也就是age()的返回值打印出来呢这就不太好办了。也许可以在println!里再调用一次你知道可以这么做只是因为这里age()返回的值是固定的如果它每次返回的值都不一样显然不能这么做。 这时绑定就派上用场了。 fn main() {println!(Tell me what type of person you are);match age() {0 println!(I havent celebrated my first birthday yet),n 1..12 println!(Im a child of age {:?}, n),n 13..19 println!(Im a teen of age {:?}, n),n println!(Im an old person of age {:?}, n),} }我们将被匹配的值绑定到n上后续代码逻辑就可以使用了。 再考虑上面的例子归根结底每次匹配都只是将外部的变量和范围进行匹配中间没有产生任何额外的变量。所以如果你想使用要么使用原始的外部变量要么进行一个绑定。而匹配所有值本质上不是匹配就是进行了一次绑定所以绑定的值可以直接使用。 3 // 修复错误 enum Message {Hello { id: i32 }, }fn main() {let msg Message::Hello { id: 5 };match msg {Message::Hello {id: 3..7,} println!(id 值的范围在 [3, 7] 之间: {}, id),Message::Hello { id: newid10 | 11 | 12 } {println!(id 值的范围在 [10, 12] 之间: {}, newid)}Message::Hello { id } println!(Found some other id: {}, id),} }第一个需要用绑定第二个需要全部匹配落个括号 // 修复错误 enum Message {Hello { id: i32 }, }fn main() {let msg Message::Hello { id: 5 };match msg {Message::Hello {id:id 3..7,} println!(id 值的范围在 [3, 7] 之间: {}, id),Message::Hello { id: newid(10 | 11 | 12) } {println!(id 值的范围在 [10, 12] 之间: {}, newid)}Message::Hello { id } println!(Found some other id: {}, id),} }4 匹配守卫match guard是一个位于 match 分支模式之后的额外 if 条件它能为分支模式提供更进一步的匹配条件。 // 填空让代码工作必须使用 split fn main() {let num Some(4);let split 5;match num {Some(x) __ assert!(x split),Some(x) assert!(x split),None (),} }事实上就是多一个if条件来进一步匹配而已。 fn main() {let num Some(4);let split 5;match num {Some(x) if x split assert!(x split),Some(x) assert!(x split),None (),} }5 使用 … 忽略一部分值 // 填空让代码工作 fn main() {let numbers (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048);match numbers {__ {assert_eq!(first, 2);assert_eq!(last, 2048);}} }可惜只能忽略一次 fn main() {let numbers (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048);match numbers {(first, .., last) {assert_eq!(first, 2);assert_eq!(last, 2048);}} } 6 使用模式 mut V 去匹配一个可变引用时你需要格外小心因为匹配出来的 V 是一个值而不是可变引用 // 修复错误尽量少地修改代码 // 不要移除任何代码行 fn main() {let mut v String::from(hello,);let r mut v;match r {mut value value.push_str( world!) } }思来想去也只有这一种改法了。 fn main() {let mut v String::from(hello,);let r mut v;match r {value value.push_str( world!) } }r本身就是对string的可变引用如果想直接使用的话没必要再引用一次。按图中的匹配最后value会是一个不可变string这样后面的操作就做不到了。
http://www.zqtcl.cn/news/105831/

相关文章:

  • 具有品牌的微网站建设网站设计培训班前台
  • 网站推广工具推荐html网站地图在线生成
  • 成都本地网站建设青岛电子商务的网站建设
  • 北京网站开发培训河南省百城建设提质工程网站
  • 郑州专业建网站南通网站建设技术支持
  • 简约网站程序网络营销方式较为单一
  • 绍兴企业自助建站123房产网
  • 科技类网站设计特点备案 网站首页地址
  • 做兼职网站网站建设培训速成
  • 开源的网站管理系统商务网站设计与建设实训
  • 东莞三合一网站制作江阴做网站的公司有
  • mvc5 网站开发之學 pdf百度搜索引擎首页
  • 手机进入网站自动识别城阳区规划建设局网站
  • 网站开发平台的公司订票网站开发公司
  • 郑州网站推广信息网架结构厂家
  • 提升网站流量的方法汕头站扩建
  • 响应式网站建设制作需要注意什么网站建设汇卓
  • 馨雨公司网站建设策划方案一个网站能放多少关键词
  • 福州 网站开发洛阳做网站找哪家好
  • 网站建设创业书海外短视频平台
  • 网站建设的职称做h5长图网站
  • 石家庄正规制作网站公司网页版微信会在电脑上留下记录吗
  • 互联网网站界面设计 要素没有网怎么安装wordpress
  • asp 英文企业网站 免费WordPress发图册
  • 东莞搜索seo优化排名天津seo托管
  • 做网站一年大概的盈利淘宝式网站建设
  • 深圳网站优化最好的方法wordpress文章如何添加标签
  • 炫酷文字制作网站房屋和建设工程信息平台
  • 邢台企业网站制作公司wordpress 博客 安装教程
  • 西宁网站制作公司排名网站开发开题报告范文2019