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

创建网站的ip地址怎么获得如何在百度上添加自己的店铺

创建网站的ip地址怎么获得,如何在百度上添加自己的店铺,如何做全球网站排名,宣城做网站3.5.0. 写在正文之前 欢迎来到Rust自学的第三章,一共有6个小节,分别是: 变量与可变性数据类型:标量类型数据类型:复合类型函数和注释控制流:if else(本文)控制流:循环 通过第二章…

3.5.0. 写在正文之前

欢迎来到Rust自学的第三章,一共有6个小节,分别是:

  • 变量与可变性
  • 数据类型:标量类型
  • 数据类型:复合类型
  • 函数和注释
  • 控制流:if else(本文)
  • 控制流:循环

通过第二章的小游戏(没看的初学者强烈建议看一下),相信你已经学会了基本的Rust语法,而在第三章我们将更深一层,了解Rust中的通用的编程概念。

喜欢的话记得点赞、收藏加关注哦,想要跟着学下去记得关注专栏哦

3.5.1. if表达式的基本认识

  • if表达式允许根据条件来执行不同的代码分支操作
    • 这个条件必须是布尔类型。这点不同于Ruby、JS和C++,它们会把if后的非布尔类型转换为布尔类型
    • 条件可以是一个字面值、一个表达式或是一个变量
  • if表达式中,与条件相关联的代码就叫做分支(在讲match时就有提到过这个概念)
  • 可选的,在后面可以加上一个else表达式
fn main(){let machine = 6657;if machine < 11451 {println!("condition is true");} else {println!("condition is false");}
}

这个例子中,machine这个变量的值是小于11451 的,所以程序会执行println!("condition is true");这一行;如果修改machine的值使其不小于114514,那么程序就会执行else后的代码块。

3.5.2. 用else if处理多重条件

如果需要进行多重条件判断又不想在else下不停地写嵌套,那么使用else if就是很好的选项。

fn main(){let number = 6;if number % 4 == 0 {println!("Number is divisible by 4");} else if number % 3 == 0 {println!("Number is divisible by 3");} else if number % 2 == 0 {println!("Number is divisible by 2");} else {println!("Number is nor divisible by 4, 3 or 2");}
}

6既能被3整除也能被2整除,所以else if number % 3 == 0else if number % 2 == 0都是true,由于ifelse ifelse是按顺序从上到下判断的所以谁在前面就输出谁。在这个例子中,else if number % 3 == 0在前面,所以程序就会执行println!("Number is divisible by 3");,而else if number % 2 == 0下的代码块就不会被执行。

如果程序中使用了多于一个else if,那么最好使用match来重构代码

比如上面那段话就可以重构为(非唯一解):

fn main() {let number = 6;match number {n if n % 4 == 0 => println!("Number is divisible by 4"),n if n % 3 == 0 => println!("Number is divisible by 3"),n if n % 2 == 0 => println!("Number is divisible by 2"),_ => println!("Number is not divisible by 4, 3, or 2"),}
}

显而易见,使用match的代码更加直观

3.5.3. 在let语句中使用if

if在Rust中是一个表达式,所以可以将它放在let语句中等号的右边

fn main(){let condition = true;let number = if condition { 5 } else { 6 };println!("The value of number is:{}", number);
}

这个例子中,因为conditiontrue,所以会把5赋给number,最后的输出结果就是The value of number is:5;如果conditionfalse,那么就会把else后的值6赋给number

这种写法于Python非常相像,但是两者有本质上的区别:

  • Rust:

    • Rust 中的 if-else表达式,可以直接返回值。换句话说,if 结构本身可以参与到其他表达式的计算中。
    • 在 Rust 中,几乎所有代码块都可以是表达式,比如 {} 块也可以返回一个值。
  • Python:

    • Python 中的 if-else 是一个特定的三元运算符形式,专门为单行条件表达式设计。
    • Python 的普通 if-else 语句是控制流的一部分,它不返回值,不能嵌入到其他表达式中。
fn main(){let condition = true;let number = if condition { 5 } else { "6" };println!("The value of number is:{}", number);
}

这个例子在编译时会报错:if` and `else` habe incompatible types,就是ifelse拥有不兼容的类型。因为Rust是一个静态强类型语言,在编译时就必须知道变量的类型是什么以便这个变量在其他地方使用。在这个例子中,if块下的返回值类型是i32,else块下的返回值是字符串类型,编译器无法在编译时确定变量number的类型到底是i32还是字符串类型,所以会报错。

一句话总结:if-else 表达式的分支必须返回相同类型的值

http://www.ds6.com.cn/news/109692.html

相关文章:

  • 颛桥做网站培训机构排名
  • php网站打开速度慢培训教育机构
  • 目前还能去北京吗网站关键词百度自然排名优化
  • wordpress按住标题没有显seo服务加盟
  • 岳阳网站建设哪家好怎么做营销推广方案
  • 推广网站报价百度识图搜索网页版
  • 书画网站 建设方案竞价开户推广
  • 唐山网站怎么做seo体育新闻最新消息
  • 外贸网站建设需要注意什么河南seo技术教程
  • 网站建设活动治疗腰椎间盘突出的特效药
  • 高新区网站建设的建议百度seo搜索引擎优化厂家
  • 南阳做那个网站好新闻 最新消息
  • 手机网站 多html公关公司排名
  • 彭州网站建设2022年新闻摘抄十条
  • 网站建设丶seo优化社群运营的经典案例
  • 网站漂浮物怎么做海南百度推广电话
  • 明星个人网站设计模板百度推广后台登陆首页
  • 做视频网站的备案要求推广小程序拿佣金
  • wordpress 美橙互联windows优化大师怎么彻底删除
  • 怎样看一个网站是谁做的搜索引擎优化关键字
  • 长沙快速建站模板查看百度关键词价格
  • 撰写网站的建设方案网站优化排名公司
  • 深圳积分商城网站建设西安关键词优化软件
  • 做网站包域名包服务器多少钱北京seo优化wyhseo
  • 杭州建设工程交易中心龙岩seo
  • 注册500万公司实缴多少钱网页优化包括什么
  • 沈阳做网站建设广东东莞疫情最新消息
  • 在国外做电商网站学习软件
  • 网站做填充网站关键词在哪里看
  • 沈阳出名网站温州seo优化公司