阶段一:环境搭建与基础语法

63 阅读2分钟

阶段一:环境搭建与基础语法

Step 1: 安装Rust工具链

  1. 打开终端(Windows用户使用PowerShell或CMD),运行以下命令安装rustup(Rust工具链管理器):
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
    或从官网下载安装。
  2. 安装完成后,输入以下命令验证安装:
    rustc --version  # 输出类似 rustc 1.76.0 (07dca489a 2024-02-04)
    cargo --version  # Cargo是Rust的包管理工具
    

Step 2: 创建第一个项目

  1. 在终端中,进入你的工作目录(例如~/projects),运行:
    cargo new hello_rust
    cd hello_rust
    
  2. 查看项目结构:
    hello_rust/
    ├── Cargo.toml  # 项目配置和依赖管理
    └── src/
        └── main.rs  # 入口文件
    
  3. 编译并运行项目:
    cargo run  # 输出 "Hello, world!"
    

Step 3: 基础语法学习

1. 变量与不可变性
  • Rust中变量默认不可变(immutable),使用let声明:
    let x = 5;      // 不可变变量
    let mut y = 10; // 可变变量(需显式声明`mut`)
    y = 15;         // 允许修改,这里修改完会显示一个警告,提示修改前的y未使用
    
  • 尝试修改不可变变量会触发编译错误:
    let x = 5;
    x = 10; // 错误!cannot assign twice to immutable variable
    
2. 基本数据类型
  • 标量类型:整数(i32u64)、浮点(f64)、布尔(bool)、字符(char)。
  • 复合类型:元组(tuple)、数组(array)。
    let tup: (i32, f64, bool) = (500, 6.4, true);
    let arr = [1, 2, 3, 4, 5]; // 数组类型固定长度
    
3. 控制流
  • if/else条件:
    let number = 6;
    if number % 2 == 0 {
        println!("偶数");
    } else {
        println!("奇数");
    }
    
  • 循环:loop(无条件循环)、whilefor
    // for循环遍历数组
    let arr = [10, 20, 30];
    for element in arr.iter() {
        println!("值为: {}", element);
    }
    
4. 函数
  • 使用fn定义函数,参数需指定类型:
    fn add(a: i32, b: i32) -> i32 {
        a + b // 返回值(无分号)
    }
    

练习题解答

题目1:打印"Hello, Rust!"

// 在src/main.rs中替换原有代码
fn main() {
    println!("Hello, Rust!");
}

运行:cargo run


题目2:可变变量修改

fn main() {
    let mut x = 5;
    x = 10;
    println!("x = {}", x); // 输出 x = 10
}

题目3:判断偶数的函数

fn is_even(num: i32) -> bool {
    num % 2 == 0
}

fn main() {
    println!("{}是偶数吗?{}", 4, is_even(4)); // 输出 true
}

题目4:计算1到100的和

fn main() {
    let mut sum = 0;
    for i in 1..=100 { // 使用范围表达式1..=100(包含100)
        sum += i;
    }
    println!("1到100的和为: {}", sum); // 输出 5050
}

今日学习总结

  • 已完成:环境搭建、基础语法、变量、函数和控制流。
  • 明日计划:深入学习所有权(Ownership)和引用(Borrowing)。