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

泰安网站建设哪家快网站导航营销步骤

泰安网站建设哪家快,网站导航营销步骤,网站推广网络推广方,做信公众号首图的网站文章目录 简介错误匹配 Rust基础教程: 初步⚙ 所有权⚙ 结构体和枚举类⚙ 函数进阶⚙ 泛型和特征⚙ 并发和线程通信⚙ cargo包管理⚙ 可空类型Option Rust进阶教程: 用宏实现参数可变的函数⚙ 类函数宏 简介 Rust中没有提供类似try…catch之类…

文章目录

    • 简介
    • 错误匹配

Rust基础教程: 初步⚙ 所有权⚙ 结构体和枚举类⚙ 函数进阶⚙ 泛型和特征⚙ 并发和线程通信⚙ cargo包管理⚙ 可空类型Option
Rust进阶教程: 用宏实现参数可变的函数⚙ 类函数宏

简介

Rust中没有提供类似try…catch之类的分支语句块,而是提供了Result这种数据类型,用于处理错误的返回值。和Option类似,Result的实质也是一种枚举类型

enum Result<T, E> {Ok(T),Err(E),
}

下面做一个简单的示例,用Result类型的返回值,来构造一个除法函数,并表示x/0这种问题

// res.rs
fn div_err(x:f32, y:f32) -> Result<f32, String>{if y==0.0{ Err("DIV BY ZERO".to_string()) } else{ Ok(x/y) }
}fn main(){println!("5/3={:?}", div_err(5.0,3.0));println!("5/0={:?}", div_err(5.0,0.0));
}

运行结果如下

>res.exe
5/3=Ok(1.6666666)
5/0=Err("DIV BY ZERO")

Rust有一个值得注意的性质,即未处理的Result,会在编译时提出警告,比如把main函数改成下面的形式,那么编译时会给出Result必须被使用的警告。

fn main(){div_err(5.0,3.0);
}

错误匹配

考虑到Result的本质是枚举类型,所以其常规的处理方式,也就是使用match匹配,相应地,Result也支持un_wrap方法,当Result的返回值是Err时输出直接报错。但另一方面,Result支持多种错误的设置,所以从报错的角度来说,功能显然是更全面的。

仍以除法为例,尽管除数为0时一定要报错,但形如 x / 0 x/0 x/0 0 / 0 0/0 0/0显然是两种不同的错误。如果为实数添加一个无穷大,那么实数域就可以映射到一个圆形上面,从而 x / 0 x/0 x/0就可以等于 ∞ \infty ,但 0 / 0 0/0 0/0仍然是错的。

下面就针对这两种不同的情况,为其设置错误。

fn div_err(x:f32, y:f32) -> Result<f32, String>{if y==0.0{if x==0.0{ Err("DIV ERROR".to_string())}else { Err("INF ERROR".to_string()) }} else{Ok(x/y)}
}fn div_print(x:f32, y:f32){match div_err(x, y){Ok(res) => println!("{}/{}={}", y, x, res),Err(res) => println!("{}", res)}
}fn main(){div_print(5.0, 3.0);div_print(5.0, 0.0);div_print(0.0, 0.0);
}

运行结果如下

>res.exe
3/5=1.6666666
INF ERROR
DIV ERROR

在这里插入图片描述

http://www.yayakq.cn/news/500326/

相关文章:

  • 品牌网页设计公司seo软件代理
  • 济南网站设计公司排名程序开发 网站开发
  • 北京 网站建设 知乎做外贸的基本流程
  • 微网站开发商域名与网站名称的关系
  • 网站开发工具中的三剑客科技感网站
  • 微信营销管理系统南阳seo优化公司
  • 网站设计与网站建设课程代码wordpress nana
  • 熊掌号网站怎么做wordpress汉化主题下载地址
  • 有了ddns怎么建设网站wordpress 修改header
  • 电商网站怎么做权限控制咖啡seo是什么意思
  • 小灯具网站建设方案建设外卖网站规划书
  • 东莞服装网站建设有哪些网站做生鲜到家
  • 菜鸟是什么网站免费用的云服务器
  • 网站页面背景网站后台的编辑器不显示
  • 网站建设以后主要做什么网站设计由哪个部门做
  • 购物网站开发django什么是h5开发
  • 怎么进网站后台管理系统做网站多少钱PageAdmin
  • 家具能在什么网站上做WordPress主题开发核心知识
  • 大连网站运营服务关系型网站怎么做
  • 财务公司网站建设2016wordpress淘宝客程序
  • 网站的建设与规划上海市发布
  • wordpress做了个站没流量镇江房产网站建设
  • 计算机网站开发的目的wordpress wptouch
  • 漳州网站建设优化推广网站优化建议
  • 网站建设是永久性的吗手机版网页制作
  • 深圳专门做网站的公司网站换模板要怎么做
  • 湛江网站建设方案外包普陀专业做网站
  • 网站建设 备案什么意思吴江建设工程招标中心网站
  • 北京校园网站建设网站建设年度总结
  • 巩义机械厂网站建设企业邮箱哪家比较好