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

西电信息化建设处网站搜索引擎付费推广

西电信息化建设处网站,搜索引擎付费推广,有专业做网站优化的吗,进入上海公众号rust的控制语句和大部分语言没有什么区别,都是熟悉的for,while,loop,if。 比较不同的是,在绝大部分非常流行的语言中都有的switch,rust是没有的。 诸如c/c,java,javascript,c#。连PL/SQL都有case when语句。 一、基本的for、while、if&…

rust的控制语句和大部分语言没有什么区别,都是熟悉的for,while,loop,if。

比较不同的是,在绝大部分非常流行的语言中都有的switch,rust是没有的。

诸如c/c++,java,javascript,c#。连PL/SQL都有case when语句。

一、基本的for、while、if,loop

示例-for,while,loop,if

复制代码

/**学习控制流条件  if循环  for,loop,while注意:for有各种各样的实现方式
*/
use std::io;fn main() {println!("请输入你的年龄");let mut age = String::new();io::stdin().read_line(&mut age).expect("读取失败");let age: u32 = age.trim().parse().expect("请输入一个数字");let mut desc = String::new();let mut total: u32 = 0;//1.0 测试 if ,else ifif (age < 20) {println!("你是{}岁,还年轻", age);total = cal_young(age);} else if (age < 70) {println!("你是{}岁,正当壮年,是国家和家庭栋梁", age);total = cal_strong(age);} else {println!("你是{}岁!老骥伏枥,志在千里;壮士暮年,烈心不已", age);total = cal_old(age);}//1.1 测试if 条件表达式赋值//rust的函数和许多语句中,如果最后一个语句不带分号,往往表示返回值desc = if age < 70 {"壮年".to_string()} else {"老年".to_string()};println!("{}岁,属于{}", age, desc);println!("总数={}", total);//for 循环比较多实现方式// a. in [] array  ,例如  in [1,2,3]// b. in range   ,例如  in (1..10),但10不在内if (age <= 50) {let fib: u32 = calFb(age);println!("{}的斐波那契值={}", age, fib);}test_for_with_array();test_for_with_tuple();
}//for循环-数组
fn test_for_with_array() {println!("for遍历数组");for i in [1, 2, 3, 10] {println!("数组元素:{}", i);}
}//for循环-元组,..
//使用..的时候,两边带不带()都是一样的。带()主要是为了构建一个对象,便于左其它操作
fn test_for_with_tuple() {for i in (1..5) {println!("{}", i);}for i in 6..10 {println!("{}", i);}//倒数//for i in (1..10).rev() {println!("倒数:{}", i);}
}fn cal_young(a: u32) -> u32 {let mut total: u32 = 0;//测试for循环//注意 写成 n..m 那么上限是不会计算在内的for i in 1..a + 1 {total += i;}return total;
}fn cal_strong(a: u32) -> u32 {let mut i = 0;let mut total: u32 = 0;//测试loop,必须内部加break;loop {i = i + 1;total = total + i;if (i == a) {break;}}return total;
}fn cal_old(a: u32) -> u32 {let mut total: u32 = 0;let mut i = 0;//测试whilewhile i < a {i = i + 1;total = total + i;}return total;
}
/**计算斐波那契,但是这个不要用于计算太大的值,因为这个递归算法极其低效计算50以内还马马虎虎注意:如果有错误,那么非蛇形的命名方式会被编译器提示出来
*/
fn calFb(n: u32) -> u32 {if (n == 1) {return 1;} else if (n == 2) {return 1;} else {return calFb(n - 1) + calFb(n - 2);}
}

复制代码

 这其中for的格式比较多,许多语言都有这种现象,例如JAVA。

二、rust的for可以的格式

for i in n.m   使用它使用 std::iter::Range 或 std::iter::RangeInclusive 迭代器

for i in (n..m).rev()

for i in [x,y,z]

其它还有基于map,向量,枚举的便捷方式这些对象元素的方式

对于map,向量、枚举的,后续补充例子。

三、match而不是switch

在有关书籍中,第一个例子就有match。

match guess.cmp(&secret_str){Ordering::Less => println!("偏小"),Ordering::Greater => println!("偏大"),Ordering::Equal => {println!("恭喜,你赢了!你总共花费了{}次",try_times);is_ok=true;}
};

按照文档的描述,rust的match是一个比较奇特的东西。

match和JAVA17以上的switch还是有一定相似度的,也不知道谁抄谁。

在rust的书本上<<Rust权威指南>>把match吹了一番。

闲话少扯,还是先掌握match的一些基本内容吧。

四、小结

和大部分语言差不多,rust的控制结构没有特别的,这很好,因为它奇怪的语法已经够多了。

和现代大部分的语言语言一样,rust也力图让for循环变得更加方便一些。

 

关注灵活就业新业态,关注公账号:贤才宝(贤才宝https://www.51xcbw.com) ​ 

http://www.dtcms.com/wzjs/269428.html

相关文章:

  • 建设公司网站的要点周口网络推广哪家好
  • 个人备案的网站做企业内容alexa排名查询统计
  • 网站购买后如何做建网站找谁
  • 聊城做网站的公司平台广东seo快速排名
  • 中学网站建设方案经典模板网站建设
  • 长沙做网站需要多少钱免费建站系统
  • 做网站需求报告如何在网上推广自己的公司
  • 网站投票链接怎么做学电商运营的培训机构
  • wordpress301改不回来seo页面优化技术
  • 利用店铺网站做灰色优化今日国内新闻摘抄十条
  • 内蒙建设厅网站怎么查建筑电工证软文广告素材
  • 驻马店网络seo技术306
  • 做电影网站需要注意什么东西淘宝关键词怎么选取
  • 电脑虚拟主机全网优化推广
  • 自己有网站做app吗站长工具域名解析
  • 网站开发维护花费重庆seo海洋qq
  • python 自己做网站网络销售怎么样
  • 烟台做网站打电话话术青岛百度网站排名
  • 免费的ui设计的网站百度sem推广
  • 360怎么做网站高质量外链平台
  • 网站备案号取消原因什么是互联网营销师
  • wordpress .ht优化推广服务
  • 基于wamp的动态网站开发最厉害的搜索引擎
  • wordpress bae广州seo技术外包公司
  • 酒店网站制作关键词排名规则
  • 山东青岛网站建设优化关键词的方法
  • 邢台企业做网站推广百度极速版推广员怎么申请
  • ai做网站 如何切图学生个人网页制作
  • php商城网站的要求与数据专业搜索引擎seo合作
  • 做一个网站多久谷歌浏览器引擎入口