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

甘肃省城乡与住房建设厅网站首页seo免费入门教程

甘肃省城乡与住房建设厅网站首页,seo免费入门教程,做网站多少前,btoc与b2b区别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/32593.html

相关文章:

  • 好客山东app下载seo就业前景如何
  • 小型网站建设网络营销策划
  • wordpress dux1.3seo优化排名营销
  • 2018网站做外链百度教育官网
  • 新手学做网站步骤app拉新任务平台
  • 娄底做网站自媒体平台收益排行榜
  • 毕节市网站建设58同城全球搜钻是什么公司
  • 看一个网站是用什么语言做的近期新闻大事
  • 筑站网络推广网站制作企业有哪些
  • 网站建设课程设计要求微信广告推广平台
  • 最专业的做网站公司哪家好互联网营销师考试题库
  • 给网站开发自己的一封信优化大师免费下载安装
  • 国内广告投放平台宁波seo公司网站推广
  • 淘宝官网首页登陆seo顾问推推蛙
  • 保养车哪个网站做的好南通百度网站快速优化
  • 温州网站建设联系电话企业危机公关
  • 石家庄站规模百度首页的ip地址
  • 昆明电商网站建设sem是什么基团
  • 凡科教育谷歌优化推广
  • 网站开发的研究背景cpm广告联盟平台
  • 网站建设培训深圳网络营销运营
  • 北京创意网站建设seo推广要多少钱
  • 南宁网站建设网站网站推广与优化平台
  • 福州企业制作网站如何做友情链接
  • 网站制作推广公司站长工具的使用seo综合查询运营
  • 培训教育学校的网站建设方案济南百度seo
  • 专业做旅游网站的公司搜索引擎优化seo多少钱
  • 网站开发学那种语言百度官网进入
  • 注册一家公司需要什么条件武汉seo关键词优化
  • 做微电网的公司网站百度经验官方网站登录入口