Rust学习笔记-常见的编程概念-控制流

Rust学习笔记

常见的编程概念

注释

在 Rust 中,惯用的注释样式是以两个斜杠开始注释,并持续到本行的结尾。对于超过一行的注释,需要在每一行前都加上 //,像这样:

// So we’re doing something complicated here, long enough that we need
// multiple lines of comments to do it! Whew! Hopefully, this comment will
// explain what’s going on.

注释也可以放在包含代码的行的末尾:

文件名:src/main.rs

fn main() {
   
   
    let lucky_number = 7; // I’m feeling lucky today
}

不过你更经常看到的是以这种格式使用它们,也就是位于它所解释的代码行的上面一行:

文件名:src/main.rs

fn main() {
   
   
    // I’m feeling lucky today
    let lucky_number = 7;
}

Rust 还有另一种注释,称为文档注释,我们将在 14 章的 “将 crate 发布到 Crates.io” 部分讨论它。

控制流

Rust 代码中最常见的用来控制执行流的结构是 if 表达式和循环。

if 表达式

if 表达式允许根据条件执行不同的代码分支。你提供一个条件并表示 “如果条件满足,运行这段代码;如果条件不满足,不运行这段代码。”

projects 目录新建一个叫做 branches 的项目,来学习 if 表达式。在 src/main.rs 文件中,输入如下内容:

文件名:src/main.rs

fn main() {
   
   
    let number = 5;
    if number > 3 {
   
   
        println!("condition was true");
    } else {
   
   
        println!("condition was false");
    }
}

在这里插入图片描述

所有的 if 表达式都以 if 关键字开头,其后跟一个条件。在这个例子中,条件检查变量 number 的值是否大于 3。在条件为 true 时希望执行的代码块位于紧跟条件之后的大括号中。if 表达式中与条件关联的代码块有时被叫做 arms,就像第二章 “比较猜测的数字和秘密数字” 部分中讨论到的 match 表达式中的分支一样。

也可以包含一个可选的 else 表达式来提供一个在条件为 false 时应当执行的代码块,这里我们就这么做了。如果不提供 else 表达式并且条件为 false 时,程序会直接忽略 if 代码块并继续执行下面的代码。

另外值得注意的是代码中的条件 必须 是 bool 值。如果条件不是 bool 值,我们将得到一个错误。例如,尝试运行以下代码:

文件名:src/main.rs

fn main() {
   
   
    let number = 3;
    if number {
   
   
        println!("number was three");
    } 
}

在这里插入图片描述

这个错误表明 Rust 期望一个 bool 却得到了一个整数。不像 Ruby 或 JavaScript 这样的语言,Rust 并不会尝试自动地将非布尔值转换为布尔值。必须总是显式地使用布尔值作为 if 的条件。例如,如果想要 if 代码块只在一个数字不等于 0 时执行,可以把 if 表达式修改成下面这样:

fn main() {
   
   
    let number = 3;
    if number != 0 {
   
   
        println!("number was something other than zero");
    } 
}

在这里插入图片描述

使用 else if 处理多重条件

可以将 else if 表达式与 ifelse 组合来实现多重条件。例如:

文件名:src/main.rs

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值