征服 Rust 编程世界的终极指南( 二 )


文章插图
主函数使用println!宏打印字符串,因为变量等于12 。
你可以使用else关键字来处理if语句为false的情况:
fn main() {    let a: i32 = 12;    if a == 123 {        println!("a equals twelve");    } else {        println!("a does not equal twelve");    }}

征服 Rust 编程世界的终极指南

文章插图
在这个例子中,else语句会执行,因为a的值不等于123 。
你可以使用match关键字来处理复杂的条件语句:
fn main() {    let age: i32 = 7;    match age {        1 => println!("one"),        2 => println!("two"),        3 => println!("three"),        _ => println!("zero"),    }}
征服 Rust 编程世界的终极指南

文章插图
主函数使用match语句将age变量与匹配的case进行匹配,并执行与值匹配的表达式 。下划线(_)是默认语句,在值有匹配时执行 。
Rust 中的循环Rust提供了用于重复任务的循环 。Rust有三种主要类型的循环:loop、while和for循环 。
loop关键字创建一个无限循环,直到遇到break关键字才会停止:
fn main() {    loop {        println!("重复打印,直到遇到break语句 。");        break;    }}
征服 Rust 编程世界的终极指南

文章插图
while循环在条件为true时重复执行代码块:
fn main() {    let mut count = 0;    while count < 5 {        println!("The count is {}", count);        count += 1;    }}for循环适用于迭代集合中的项,比如数组:
 fn main() {    let numbers = [1, 2, 3, 4, 5];    for item in numbers.iter() {        println!("The current item is {}", item);    }}这个for循环遍历numbers数组,并将每个项打印到控制台上 。
声明和调用 Rust 函数使用fn关键字声明Rust函数,然后是函数名、参数列表和返回类型(如果有) 。
下面是一个带有参数和返回类型的函数声明示例:
fn add(a: i32, b: i32) -> i32 {    return a + b;}add函数接受两个32位整数参数,并返回一个32位整数,即两个参数的和 。
要从代码的其他位置调用函数,只需指定函数名和参数(如果有):
fn main() {    let result = add(2, 3);    println!("2 + 3 = {}", result);}result变量保存调用add函数的结果 。main函数使用println!宏将结果打印到控制台上 。
Rust 中的结构体Rust 提供了结构体(struct)来定义自定义数据类型,用于将相关的值进行分组 。结构体是创建具有特定属性的对象的蓝图 。
下面是如何声明一个结构体:
struct Person {    name: String,    age: u32,    is_male: bool,}Person结构体有三个字段:一个String类型、一个无符号32位整数和一个布尔值 。
在定义结构体之后,你可以在程序的其他部分创建它的实例:
fn main() {    let person1 = Person {        name: String::from("Candace Flynn"),        age: 16,        is_male: false,    };}person1变量是Person结构体的一个实例 。在实例化时,你可以为结构体的字段赋值 。你可以创建任意多个结构体的实例 。
你可以在 Rust 中实现面向对象编程(OOP)的概念Rust非常灵活,你可以使用内置的数据结构(如结构体)在Rust中实现面向对象编程的概念 。
你可以使用结构体作为类的替代品 。通过Rust的结构体,你可以定义类型的蓝图,并使用Rust提供的结构体功能实现不同的面向对象编程概念 。




推荐阅读