🦀 终极 Rust 编程语言超级教程 🚀 🦀 终极 Rust 编程语言超级教程 🚀

2025-06-07

🦀 终极 Rust 编程语言超级教程 🚀

🦀终极 Rust 编程语言超级教程🚀

如果你喜欢这篇文章,请在 YouTube上订阅我

🦀终极 Rust 编程语言超级教程🚀

本指南旨在帮助您成为Rust 专家——无论您是初学入门,还是希望深入了解高级功能。我们将涵盖Rust 的方方面面,从最基础的语言到高级并发、内存管理、Web 开发等等。


🌟为什么要学习 Rust?

Rust 因其独特的组合而脱颖而出:

  1. 无需垃圾收集的内存安全: Rust 在编译时防止空指针取消引用和数据竞争。
  2. 高性能:编译为本机代码,使其与 C/C++ 一样快。
  3. 并发性:保证线程安全,使多线程编程变得轻而易举。
  4. 广泛的生态系统:嵌入式系统Web 汇编,Rust 用途广泛。
  5. 不断壮大的社区:得到 Mozilla、亚马逊和微软等大型组织的支持。

🛠️设置 Rust

安装 Rust

  1. 下载并安装 Rust rustup(跨平台安装程序):
   curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Enter fullscreen mode Exit fullscreen mode
  1. 将其添加到您的环境中:
   source $HOME/.cargo/env
Enter fullscreen mode Exit fullscreen mode
  1. 验证安装:
   rustc --version
   cargo --version
Enter fullscreen mode Exit fullscreen mode

🌱第 1 章:Rust 基础知识

让我们从Rust 的基础概念开始。

🔤 1.1 变量和常量

  • 不可变变量(默认):
  let x = 5;
  println!("x: {}", x);  
  // x = 10; // Error: Cannot reassign
Enter fullscreen mode Exit fullscreen mode
  • 可变变量:
  let mut y = 10;
  y += 5;
  println!("y: {}", y);
Enter fullscreen mode Exit fullscreen mode
  • 常量:
  const PI: f64 = 3.14159265359;  
  println!("Value of PI: {}", PI);
Enter fullscreen mode Exit fullscreen mode

📚 1.2 Rust 中的数据类型

Rust 有一个静态类型系统,具有显式和推断类型。

  • 标量类型:

    • 整数i8,,i32u64
    • 浮点数:f32f64
    • 布尔值:bool
    • 特点:char
  • 化合物类型:

    • 元组:
    let tup = (500, 6.4, 'R');
    let (x, y, z) = tup;
    println!("x: {}, y: {}, z: {}", x, y, z);
    
    • 数组:
    let arr = [1, 2, 3, 4, 5];
    println!("First element: {}", arr[0]);
    

🔗第二章:所有权、借贷和生命周期

Rust 的所有权模型是其内存安全的基石。

📦 2.1 所有权规则

  1. Rust 中的每个值都有一个所有者。
  2. 一个值每次只能有一个所有者。
  3. 当所有者超出范围时,该值将被丢弃。
fn main() {
    let s = String::from("hello");
    takes_ownership(s);  
    // s is no longer valid here
}

fn takes_ownership(s: String) {
    println!("{}", s);
}
Enter fullscreen mode Exit fullscreen mode

2.2 借用和引用

借用允许多次引用而无需转移所有权。

fn main() {
    let s = String::from("hello");
    print_length(&s);
    println!("Still valid: {}", s);
}

fn print_length(s: &String) {
    println!("Length: {}", s.len());
}
Enter fullscreen mode Exit fullscreen mode

🔒 2.3 可变引用

Rust一次只允许一个可变引用:

fn main() {
    let mut s = String::from("hello");
    change(&mut s);
    println!("Changed: {}", s);
}

fn change(s: &mut String) {
    s.push_str(", world!");
}
Enter fullscreen mode Exit fullscreen mode

🔗 2.4 生命周期

生命周期可防止悬垂引用。

fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
    if x.len() > y.len() { x } else { y }
}
fn main() {
    let s1 = "long string";
    let s2 = "short";
    println!("Longest: {}", longest(s1, s2));
}
Enter fullscreen mode Exit fullscreen mode

📈第三章:高级概念

🔄 3.1 模式匹配

Rustmatch是一个强大的构造:

fn main() {
    let number = 6;
    match number {
        1 => println!("One"),
        2..=5 => println!("Between Two and Five"),
        _ => println!("Something else"),
    }
}
Enter fullscreen mode Exit fullscreen mode

🔧 3.2 错误处理

  • 展开结果:
  fn divide(x: i32, y: i32) -> Result<i32, String> {
      if y == 0 {
          Err(String::from("Cannot divide by zero"))
      } else {
          Ok(x / y)
      }
  }
  fn main() {
      match divide(10, 2) {
          Ok(res) => println!("Result: {}", res),
          Err(e) => println!("Error: {}", e),
      }
  }
Enter fullscreen mode Exit fullscreen mode

🕸️第 4 章:Rust 中的并发

4.1 线程

Rust 的线程是内存安全的:

use std::thread;

fn main() {
    let handle = thread::spawn(|| {
        for i in 1..10 {
            println!("Thread: {}", i);
        }
    });

    handle.join().unwrap();
}
Enter fullscreen mode Exit fullscreen mode

🌐第 5 章:现实世界的 Rust 项目

🚀 5.1 构建命令行工具

让我们构建一个简单的 CLI来计算文件中的单词数:

use std::env;
use std::fs;

fn main() {
    let args: Vec<String> = env::args().collect();
    let filename = &args[1];
    let content = fs::read_to_string(filename).unwrap();
    let word_count = content.split_whitespace().count();
    println!("Word count: {}", word_count);
}
Enter fullscreen mode Exit fullscreen mode

🛠️ 5.2 使用 Rocket 进行 Web 开发

Rust 的Rocket框架非常适合构建 Web 应用程序:

#[macro_use] extern crate rocket;

#[get("/")]
fn index() -> &'static str {
    "Hello, world!"
}

fn main() {
    rocket::ignite().mount("/", routes![index]).launch();
}
Enter fullscreen mode Exit fullscreen mode

📜福利:Rust 学习路线图

  1. 了解所有权和借贷。
  2. 掌握 Rust 标准库。
  3. 学习并发和异步编程。
  4. 探索框架(Rocket、Actix)。
  5. 为开源项目做出贡献。

本指南仅仅是个开始。Rust 是一门强大的语言,它会伴随你一起成长。继续练习,构建项目,深入探索 Rust 生态系统。祝你编程愉快!🦀✨

文章来源:https://dev.to/hanzla-baig/the-ultimate-rust-programming-language-mega-tutorial-2l78
PREV
🚀 🌟 为什么 Rust 是编程领域的下一个大热门🔥 🚀 为什么 Rust 是编程领域的下一个大热门🔥
NEXT
全栈开发人员的路线图🗺